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中ajax调用json数据的使用说明
Mar 17 Javascript
jquery 追加tr和删除tr示例代码
Sep 12 Javascript
JS判断字符串包含的方法
May 05 Javascript
javascript巧用eval函数组装表单输入项为json对象的方法
Nov 25 Javascript
浅谈javascript中的call、apply、bind
Mar 06 Javascript
Bootstrap风格的zTree右键菜单
Feb 17 Javascript
微信小程序实现tab和swiper切换结合效果
Jul 17 Javascript
js代码规范之Eslint安装与配置详解
Sep 08 Javascript
浅谈React Native 传参的几种方式(小结)
May 21 Javascript
Vue动态生成表格的行和列
Jul 18 Javascript
序列化模块json代码实例详解
Mar 03 Javascript
jquery更改元素属性attr()方法操作示例
May 22 jQuery
浅谈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自动提交表单的方法(基于fsockopen与curl)
2016/05/09 PHP
容易被忽略的JS脚本特性
2011/09/13 Javascript
从阶乘函数对比Javascript和C#的异同
2012/05/31 Javascript
JQuery调webservice实现邮箱验证(检测是否可用)
2013/05/21 Javascript
jQuery标签替换函数replaceWith()的使用例子
2014/08/28 Javascript
直接拿来用的15个jQuery代码片段
2015/09/23 Javascript
js正则表达式验证邮件地址
2015/11/12 Javascript
javascript实现在网页中运行本地程序的方法
2016/02/03 Javascript
浅谈bootstrap源码分析之tab(选项卡)
2016/06/06 Javascript
jQuery 更改checkbox的状态,无效的解决方法
2016/07/22 Javascript
基于KO+BootStrap+MVC实现的分页控件代码分享
2016/11/07 Javascript
JS中with的替代方法与String中的正则方法详解
2016/12/23 Javascript
一个Vue页面的内存泄露分析详解
2018/06/25 Javascript
详解小程序rich-text对富文本支持方案
2018/11/28 Javascript
Nuxt.js 数据双向绑定的实现
2019/02/17 Javascript
教你使用vue-cli快速构建的小说阅读器
2019/05/13 Javascript
移动端手指操控左右滑动的菜单
2019/09/08 Javascript
Javascript新手入门之字符串拼接与变量的应用
2020/12/03 Javascript
[05:29]2014DOTA2国际邀请赛 赛后专访:LGDNewbee顺利过关
2014/07/13 DOTA
Python设计模式之单例模式实例
2014/04/26 Python
Python Web框架Flask中使用七牛云存储实例
2015/02/08 Python
python爬取51job中hr的邮箱
2016/05/14 Python
使用 Python 合并多个格式一致的 Excel 文件(推荐)
2019/12/09 Python
python 爬取疫情数据的源码
2020/02/09 Python
python学习将数据写入文件并保存方法
2020/06/07 Python
python+openCV对视频进行截取的实现
2020/11/27 Python
HTML5拖拽的简单实例
2016/05/30 HTML / CSS
老海军美国官网:Old Navy
2016/09/05 全球购物
德国内衣、泳装和睡衣网上商店:Bigsize Dessous
2018/07/09 全球购物
给酒店员工的表扬信
2014/01/11 职场文书
20年同学聚会邀请函
2014/02/04 职场文书
一年级小学生评语
2014/04/22 职场文书
学校课外活动总结
2014/05/08 职场文书
党支部反对四风思想汇报
2014/10/10 职场文书
清洁工岗位职责
2015/02/13 职场文书
公司员工奖惩制度
2015/08/04 职场文书