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 相关文章推荐
超级简单的图片防盗(HTML),好用
Apr 08 Javascript
浅析return false的正确使用
Nov 04 Javascript
angularJS 中input示例分享
Feb 09 Javascript
12行javascript代码绘制一个八卦图
Apr 02 Javascript
Bootstrap 最常用的JS插件系列总结(图片轮播、标签切换等)
Jul 14 Javascript
JavaScript探测CSS动画是否已经完成的方法
Aug 30 Javascript
Vue网页html转换PDF(最低兼容ie10)的思路详解
Aug 24 Javascript
基于JavaScript实现简单的音频播放功能
Jan 07 Javascript
浅谈Webpack核心模块tapable解析
Sep 11 Javascript
如何使用JavaScript实现栈与队列
Jun 24 Javascript
JavaScript实现移动端带transition动画的轮播效果
Mar 24 Javascript
element-ui封装一个Table模板组件的示例
Jan 04 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修改session_id示例代码
2014/01/08 PHP
php操作MongoDB基础教程(连接、新增、修改、删除、查询)
2014/03/25 PHP
浅谈php7的重大新特性
2015/10/23 PHP
Laravel框架使用Redis的方法详解
2018/05/30 PHP
jquery 事件执行检测代码
2009/12/09 Javascript
jquery实现商品拖动选择效果代码(自写)
2013/05/28 Javascript
使用Js让Html中特殊字符不被转义
2013/11/05 Javascript
原始XMLHttpRequest方法详情回顾
2013/11/28 Javascript
jQuery实现拖拽效果插件的方法
2015/03/23 Javascript
javascript仿京东导航左侧分类导航下拉菜单效果
2020/11/25 Javascript
JavaScript中用let语句声明作用域的用法讲解
2016/05/20 Javascript
AngularJS使用ng-options指令实现下拉框
2016/08/23 Javascript
js制作支付倒计时页面
2016/10/21 Javascript
BootStrap中关于Select下拉框选择触发事件及扩展
2016/11/22 Javascript
用JavaScript实现让浏览器停止载入页面的方法
2017/01/19 Javascript
VUE实现一个分页组件的示例
2017/09/13 Javascript
Angularjs实现数组随机排序的方法
2018/10/02 Javascript
vue+element导航栏高亮显示的解决方式
2019/11/12 Javascript
Python读写txt文本文件的操作方法全解析
2016/06/26 Python
Tensorflow的可视化工具Tensorboard的初步使用详解
2018/02/11 Python
Scrapy框架使用的基本知识
2018/10/21 Python
Python3非对称加密算法RSA实例详解
2018/12/06 Python
python之pexpect实现自动交互的例子
2019/07/25 Python
Python 用matplotlib画以时间日期为x轴的图像
2019/08/06 Python
django admin 自定义替换change页面模板的方法
2019/08/23 Python
django数据模型on_delete, db_constraint的使用详解
2019/12/24 Python
在keras中获取某一层上的feature map实例
2020/01/24 Python
python 日志模块logging的使用场景及示例
2021/01/04 Python
numba提升python运行速度的实例方法
2021/01/25 Python
珍惜资源保护环境的建议书
2014/05/14 职场文书
模具设计与制造专业求职信
2014/07/19 职场文书
高等学院职业生涯规划书范文
2014/09/16 职场文书
董事长秘书岗位职责
2015/02/13 职场文书
监理中标通知书
2015/04/16 职场文书
张丽莉观后感
2015/06/16 职场文书
2016年第29个世界无烟日宣传活动总结
2016/04/06 职场文书