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 相关文章推荐
JavaScript表单常用验证集合
Jan 16 Javascript
javascript YUI 读码日记之 YAHOO.util.Dom - Part.4
Mar 22 Javascript
浏览器兼容console对象的简要解决方案分享
Oct 24 Javascript
javascript日期格式化方法汇总
Oct 04 Javascript
详解js中的apply与call的用法
Jul 30 Javascript
AngularJS $injector 依赖注入详解
Sep 14 Javascript
简单的js表格操作
Sep 24 Javascript
Bootstrap笔记之缩略图、警告框实例详解
Mar 09 Javascript
微信小程序 wx.request方法的异步封装实例详解
May 18 Javascript
Node.js中sequelize时区的配置方法
Dec 10 Javascript
微信小程序webview 脚手架使用详解
Jul 22 Javascript
JavaScript设计模型Iterator实例解析
Jan 22 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实现维护文件代码
2007/06/14 PHP
php使用Jpgraph绘制柱形图的方法
2015/06/10 PHP
简单谈谈php延迟静态绑定
2016/01/26 PHP
PHP实现将优酷土豆腾讯视频html地址转换成flash swf地址的方法
2017/08/04 PHP
深入解析PHP底层机制及相关原理
2020/12/11 PHP
用JS实现一个页面多个css样式实现
2008/05/29 Javascript
谷歌浏览器 insertCell与appendChild的区别
2009/02/12 Javascript
百度Popup.js弹出框进化版 拖拽小框架发布 兼容IE6/7/8,Firefox,Chrome
2010/04/13 Javascript
基于jQuery+JSON的省市二三级联动效果
2015/06/05 Javascript
使用Node.js为其他程序编写扩展的基本方法
2015/06/23 Javascript
jQuery实现Email邮箱地址自动补全功能代码
2015/11/03 Javascript
Angularjs中使用Filters详解
2016/03/11 Javascript
jquery ajax结合thinkphp的getjson实现跨域的方法
2016/06/06 Javascript
javascript中神奇的 Date对象小结
2017/10/12 Javascript
JS实现百度搜索接口及链接功能实例代码
2018/02/02 Javascript
JS实现图片转换成base64的各种应用场景实例分析
2018/06/22 Javascript
python从ftp下载数据保存实例
2013/11/20 Python
Python可跨平台实现获取按键的方法
2015/03/05 Python
Python常用随机数与随机字符串方法实例
2015/04/09 Python
python中as用法实例分析
2015/04/30 Python
Python分支结构(switch)操作简介
2018/01/17 Python
Django用户认证系统 User对象解析
2019/08/02 Python
解决tensorflow训练时内存持续增加并占满的问题
2020/01/19 Python
解决Pycharm 中遇到Unresolved reference 'sklearn'的问题
2020/07/13 Python
利用css3画个同心圆示例代码
2017/07/03 HTML / CSS
详解FireFox下Canvas使用图像合成绘制SVG的Bug
2019/07/10 HTML / CSS
基于 HTML5 WebGL 实现的医疗物流系统
2019/10/08 HTML / CSS
Bench加拿大官方网站:英国城市服装品牌
2017/11/03 全球购物
Coltorti Boutique官网:来自意大利的设计师品牌买手店
2018/11/09 全球购物
车工岗位职责
2013/11/26 职场文书
法律进学校实施方案
2014/03/15 职场文书
美术教师岗位职责
2014/03/18 职场文书
律师函格式范本
2015/05/27 职场文书
三八妇女节致辞
2015/07/31 职场文书
小学一年级语文教学反思
2016/03/03 职场文书
MySQL中出现乱码问题的终极解决宝典
2021/05/26 MySQL