js初始化验证实例详解


Posted in Javascript onNovember 26, 2016

本文实例讲述了js初始化验证的方法。分享给大家供大家参考,具体如下:

<script type="text/javascript">
var Book = function(isbn, title, author) {
 if(!this.checkIsbn(isbn)){
   throw new Error('Book: Invalid ISBN.');
 } 
 this.isbn = isbn;
 this.title = title || 'No title specified';
 this.author = author || 'No author specified';
}
Book.prototype = {
 checkIsbn: function(isbn) {
  if(isbn == undefined || typeof isbn != 'string') {
   return false;
  }
  return true; // All tests passed.
 },
 display: function() {
  alert("isbn:"+this.isbn+" title:"+this.title+" author:"+this.author);
 }
};
var theHobbit = new Book('0-395-07122-4', 'The Hobbit', 'J. R. R. Tolkein');
theHobbit.display(); // Outputs the data by creating and populating an HTML element.
</script>

对isbn进行验证。是否定义,是否为字符串等等。对title进行判断,设置默认。

另一种实现方式

<script type="text/javascript">
/* 出版 interface. */
/* var Publication = new Interface('Publication', ['getIsbn', 'setIsbn', 'getTitle',
 'setTitle', 'getAuthor', 'setAuthor', 'display']); */
var Book = function(isbn, title, author) { // implements Publication
 this.setIsbn(isbn);
 this.setTitle(title);
 this.setAuthor(author);
}
Book.prototype = {
 checkIsbn: function(isbn) {
  if(isbn == undefined || typeof isbn != 'string') {
   return false;
  }
  return true; // All tests passed.
 },
 getIsbn: function() {
  return this.isbn;
 },
 setIsbn: function(isbn) {
  if(!this.checkIsbn(isbn)) throw new Error('Book: Invalid ISBN.');
  this.isbn = isbn;
 },
 getTitle: function() {
  return this.title;
 },
 setTitle: function(title) {
  this.title = title || 'No title specified';
 },
 getAuthor: function() {
  return this.author;
 },
 setAuthor: function(author) {
  this.author = author || 'No author specified';
 },
 display: function() {
  alert("isbn:"+this.isbn+" title:"+this.title+" author:"+this.author);
 }
};
var theHobbit = new Book('0-395-07122-4', '', 'J. R. R. Tolkein');
theHobbit.display(); // Outputs the data by creating and populating an HTML element.
</script>

接口实现,参考接口,定义了好多方法。

内部方法命名加_,例如这个检测的方法 _checkIsbn

<script type="text/javascript">
/* 出版 interface. */
/* var Publication = new Interface('Publication', ['getIsbn', 'setIsbn', 'getTitle',
 'setTitle', 'getAuthor', 'setAuthor', 'display']); */
var Book = function(isbn, title, author) { // implements Publication
 this.setIsbn(isbn);
 this.setTitle(title);
 this.setAuthor(author);
}
Book.prototype = {
 _checkIsbn: function(isbn) {
  if(isbn == undefined || typeof isbn != 'string') {
   return false;
  }
  return true; // All tests passed.
 },
 getIsbn: function() {
  return this.isbn;
 },
 setIsbn: function(isbn) {
  if(!this._checkIsbn(isbn)) throw new Error('Book: Invalid ISBN.');
  this.isbn = isbn;
 },
 getTitle: function() {
  return this.title;
 },
 setTitle: function(title) {
  this.title = title || 'No title specified';
 },
 getAuthor: function() {
  return this.author;
 },
 setAuthor: function(author) {
  this.author = author || 'No author specified';
 },
 display: function() {
  alert("isbn:"+this.isbn+" title:"+this.title+" author:"+this.author);
 }
};
//var theHobbit = new Book(123, '', 'J. R. R. Tolkein'); // 非字符串抛出异常
var theHobbit = new Book('1990-78sd-1092', '', 'J. R. R. Tolkein'); 
theHobbit.display(); // Outputs the data by creating and populating an HTML element.
</script>

更多关于JavaScript相关内容可查看本站专题:《javascript面向对象入门教程》、《JavaScript中json操作技巧总结》、《JavaScript切换特效与技巧总结》、《JavaScript查找算法技巧总结》、《JavaScript动画特效与技巧汇总》、《JavaScript错误与调试技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》及《JavaScript数学运算用法总结》

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
jquery validate添加自定义验证规则(验证邮箱 邮政编码)
Dec 04 Javascript
JS通过分析userAgent属性来判断浏览器的类型及版本
Mar 28 Javascript
jQuery中hover方法和toggle方法使用指南
Feb 27 Javascript
简述jQuery ajax的执行顺序
Jan 05 Javascript
详谈jQuery中使用attr(), prop(), val()获取value的异同
Apr 25 jQuery
vue+express 构建后台管理系统的示例代码
Jul 19 Javascript
JavaScript捕捉事件和阻止冒泡事件实例分析
Aug 03 Javascript
Vue实现购物车详情页面的方法
Aug 20 Javascript
javascript设计模式 ? 建造者模式原理与应用实例分析
Apr 10 Javascript
Nuxt的路由动画效果案例
Nov 06 Javascript
Vue中强制组件重新渲染的正确方法
Jan 03 Vue.js
JavaScript实现点击切换验证码及校验
Jan 10 Javascript
浅谈js在html中的加载执行顺序,多个jquery ready执行顺序
Nov 26 #Javascript
JS匿名函数实例分析
Nov 26 #Javascript
利用Js的console对象,在控制台打印调式信息测试Js的实现
Nov 26 #Javascript
JS类的定义与使用方法深入探索
Nov 26 #Javascript
js控制台输出的方法(详解)
Nov 26 #Javascript
jQuery基于排序功能实现上移、下移的方法
Nov 26 #Javascript
node.js中的事件处理机制详解
Nov 26 #Javascript
You might like
超级好用的一个php上传图片类(随机名,缩略图,加水印)
2010/06/30 PHP
PHP5 的对象赋值机制介绍
2011/08/02 PHP
PHP仿盗链代码
2012/06/03 PHP
PHP序列号生成函数和字符串替换函数代码
2012/06/07 PHP
Yii框架批量插入数据扩展类的简单实现方法
2017/05/23 PHP
php 字符串中是否包含指定字符串的多种方法
2018/04/12 PHP
Windows Live的@live.com域名注册漏洞 利用代码
2006/12/27 Javascript
IE和FireFox(FF)中js和css的不同
2009/04/13 Javascript
JS重要知识点小结
2011/11/06 Javascript
javascript弹出窗口实现代码
2015/11/12 Javascript
js实现正则匹配中文标点符号的方法
2015/12/23 Javascript
浅谈javascript:两种注释,声明变量,定义函数
2016/10/05 Javascript
微信小程序  http请求封装详解及实例代码
2017/02/15 Javascript
基于bootstrap实现bootstrap中文网巨幕效果
2017/05/02 Javascript
简单的Vue异步组件实例Demo
2017/12/27 Javascript
微信小程序通过一个json实现分享朋友圈图片
2019/09/03 Javascript
jQuery实现简易聊天框
2020/02/08 jQuery
JQuery复选框全选效果如何实现
2020/05/08 jQuery
微信小程序学习总结(五)常见问题实例小结
2020/06/04 Javascript
如何使用jQuery操作Cookies方法解析
2020/09/08 jQuery
Python创建文件和追加文件内容实例
2014/10/21 Python
python实现查找excel里某一列重复数据并且剔除后打印的方法
2015/05/26 Python
wxPython使用系统剪切板的方法
2015/06/16 Python
Django model序列化为json的方法示例
2018/10/16 Python
使用memory_profiler监测python代码运行时内存消耗方法
2018/12/03 Python
Python类装饰器实现方法详解
2018/12/21 Python
Python3实现的回文数判断及罗马数字转整数算法示例
2019/03/27 Python
postman传递当前时间戳实例详解
2019/09/14 Python
python pyinstaller打包exe报错的解决方法
2019/11/02 Python
Django User 模块之 AbstractUser 扩展详解
2020/03/11 Python
详解Python利用configparser对配置文件进行读写操作
2020/11/03 Python
美国零售商店:Blue&Cream
2017/04/07 全球购物
孝老爱亲模范事迹
2014/01/24 职场文书
优秀导游先进事迹材料
2014/01/25 职场文书
军训心得体会范文(2016最新篇)
2016/01/11 职场文书
Go Plugins插件的实现方式
2021/08/07 Golang