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 相关文章推荐
图片连续滚动代码[兼容IE/firefox]
Jun 11 Javascript
获取网站跟路径的javascript代码(站点及虚拟目录)
Oct 20 Javascript
推荐20家国外的脚本下载网站
Apr 28 Javascript
在IE 浏览器中使用 jquery的fadeIn() 效果 英文字符字体加粗
Jun 02 Javascript
Mac OS X 系统下安装和部署Egret引擎开发环境
Sep 03 Javascript
javascript面向对象之this关键词用法分析
Jan 13 Javascript
易操作的jQuery表单提示插件
Dec 01 Javascript
微信小程序 自定义Toast实例代码
Jun 12 Javascript
vue 实现 ios 原生picker 效果及实现思路解析
Dec 06 Javascript
JS实现前端页面的搜索功能
Jun 12 Javascript
vue+vue-router转场动画的实例代码
Sep 01 Javascript
vue返回上一页面时回到原先滚动的位置的方法
Dec 20 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
Session 失效的原因汇总及解决丢失办法
2015/09/30 PHP
Redis构建分布式锁
2017/03/28 PHP
Linux下安装Memcached服务器和客户端与PHP使用示例
2019/04/15 PHP
javascript-简单的计算器实现步骤分解(附图)
2013/05/30 Javascript
JS:window.onload的使用介绍
2013/11/13 Javascript
jQuery支持动态参数将函数绑定到事件上的方法
2015/03/17 Javascript
javascript实现校验文件上传控件实例
2015/04/20 Javascript
详解Vue 动态添加模板的几种方法
2017/04/25 Javascript
Three.js利用顶点绘制立方体的方法详解
2017/09/27 Javascript
小程序实现五星点评效果
2018/11/03 Javascript
JavaScript文本特效实例小结【3个示例】
2018/12/22 Javascript
js简单遍历获取对象中的属性值的方法示例
2019/06/19 Javascript
Vue利用Blob下载原生二进制数组文件
2019/09/25 Javascript
node静态服务器实现静态读取文件或文件夹
2019/12/03 Javascript
react-router-dom 嵌套路由的实现
2020/05/02 Javascript
vue-cli 关闭热更新操作
2020/09/18 Javascript
ES11屡试不爽的新特性,你用上了几个
2020/10/21 Javascript
[02:17]《辉夜杯》TRG战队巡礼
2015/10/26 DOTA
Python使用redis pool的一种单例实现方式
2016/04/16 Python
Python学习笔记之if语句的使用示例
2017/10/23 Python
Python编程实现从字典中提取子集的方法分析
2018/02/09 Python
python中的字符串内部换行方法
2018/07/19 Python
python中return不返回值的问题解析
2020/07/22 Python
python 爬取腾讯视频评论的实现步骤
2021/02/18 Python
波兰家具和室内装饰品购物网站:Vivre
2018/04/10 全球购物
函数指针的定义是什么
2016/08/14 面试题
法学专业毕业生自荐信范文
2013/12/18 职场文书
个人自荐书
2013/12/20 职场文书
大学四年的个人自我评价
2014/01/14 职场文书
社区中秋节活动方案
2014/01/29 职场文书
计算机维护专业推荐信
2014/02/27 职场文书
健康教育评估方案
2014/05/25 职场文书
人力资源管理求职信
2014/08/07 职场文书
小区的门卫岗位职责
2014/10/01 职场文书
爱晚亭导游词
2015/02/09 职场文书
2015年政治教研组工作总结
2015/07/22 职场文书