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 相关文章推荐
用js实现的一个Flash滚动轮换显示图片代码生成器
Mar 14 Javascript
TreeView 用法(有代码)(asp.net)
Jul 15 Javascript
详解jquery uploadify 上传文件
Nov 09 Javascript
js调试系列 初识控制台
Jun 18 Javascript
Angular ng-repeat 对象和数组遍历实例
Sep 14 Javascript
js 实现一些跨浏览器的事件方法详解及实例
Oct 27 Javascript
微信开发 使用picker封装省市区三级联动模板
Oct 28 Javascript
js仿QQ邮箱收件人选择与搜索功能
Feb 10 Javascript
node.js文件上传重命名以及移动位置的示例代码
Jan 19 Javascript
微信小程序如何像vue一样在动态绑定类名
Apr 17 Javascript
Vue项目页面跳转时浏览器窗口上方显示进度条功能
Mar 26 Javascript
微信小程序实现倒计时功能
Nov 19 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来改写404错误页让你的页面更友好
2013/01/24 PHP
php 批量生成html,txt文件的实现代码
2013/06/26 PHP
Thinkphp关闭缓存的方法
2015/06/26 PHP
深入理解PHP中的Streams工具
2015/07/03 PHP
PHP中的Trait 特性及作用
2016/04/03 PHP
对于Laravel 5.5核心架构的深入理解
2018/02/22 PHP
元素的内联事件处理函数的特殊作用域在各浏览器中存在差异
2011/01/12 Javascript
在多个页面使用同一个HTML片段的代码
2011/03/04 Javascript
js FLASH幻灯片字符串中有连接符&的处理方法
2012/03/01 Javascript
eval的两组性能测试数据
2012/08/17 Javascript
在Javascript中 声明时用&quot;var&quot;与不用&quot;var&quot;的区别
2013/04/15 Javascript
jquery读取xml文件实现省市县三级联动的方法
2015/05/29 Javascript
测试IE浏览器对JavaScript的AngularJS的兼容性
2015/06/19 Javascript
$.browser.msie 为空或不是对象问题的多种解决方法
2017/03/19 Javascript
node.js基础知识小结
2018/02/26 Javascript
JS中利用FileReader实现上传图片前本地预览功能
2018/03/02 Javascript
基于vue中解决v-for使用报红并出现警告的问题
2018/03/03 Javascript
JS实现图片转换成base64的各种应用场景实例分析
2018/06/22 Javascript
js图片查看器插件用法示例
2019/06/22 Javascript
vue+webpack dev本地调试全局样式引用失效的解决方案
2019/11/12 Javascript
create-react-app中添加less支持的实现
2019/11/15 Javascript
解决vue自定义全局消息框组件问题
2019/11/22 Javascript
linux系统使用python监测系统负载脚本分享
2014/01/15 Python
python操作xml文件示例
2014/04/07 Python
python使用psutil模块获取系统状态
2016/08/27 Python
python pexpect ssh 远程登录服务器的方法
2019/02/14 Python
python matplotlib画图库学习绘制常用的图
2019/03/19 Python
python实现微信自动回复及批量添加好友功能
2019/07/03 Python
python networkx 根据图的权重画图实现
2019/07/10 Python
世界上最大的乐器零售商:Guitar Center
2017/11/07 全球购物
Lululemon英国官网:加拿大瑜伽服装品牌
2019/01/14 全球购物
学生学习总结的自我评价
2013/10/22 职场文书
小学国庆节活动方案
2014/02/11 职场文书
2014元旦晚会策划方案
2014/02/19 职场文书
酒店总经理岗位职责
2015/04/01 职场文书
草系十大最强宝可梦,纸片人上榜,榜首大家最熟悉
2022/03/18 日漫