首页 > 编程 > JavaScript > 正文

JS匿名函数类生成方式实例分析

2019-11-19 18:48:45
字体:
来源:转载
供稿:网友

本文实例讲述了JS匿名函数类生成方式。分享给大家供大家参考,具体如下:

<script type="text/javascript">var Book = (function() { // 私有静态属性 var numOfBooks = 0; // 私有静态方法 function checkIsbn(isbn) {  if(isbn == undefined || typeof isbn != 'string') {   return false;  }  return true; } // 返回构造函数 return function(newIsbn, newTitle, newAuthor) { // implements Publication  // 私有属性  var isbn, title, author;  // 特权方法  this.getIsbn = function() {   return isbn;  };  this.setIsbn = function(newIsbn) {   if(!checkIsbn(newIsbn)) throw new Error('Book: Invalid ISBN.');   isbn = newIsbn;  };  this.getTitle = function() {   return title;  };  this.setTitle = function(newTitle) {   title = newTitle || 'No title specified';  };  this.getAuthor = function() {   return author;  };  this.setAuthor = function(newAuthor) {   author = newAuthor || 'No author specified';  };  // 控制对象数目,构造函数  numOfBooks++; // Keep track of how many Books have been instantiated         // with the private static attribute.  if(numOfBooks > 5) throw new Error('Book: Only 5 instances of Book can be '    + 'created.');  this.setIsbn(newIsbn);  this.setTitle(newTitle);  this.setAuthor(newAuthor); }})();// 公有静态方法Book.convertToTitleCase = function(inputString) { alert('convertToTitleCase');};// 公有非特权方法Book.prototype = { display: function() {  alert("isbn:"+this.getIsbn()+" title:"+this.getTitle()+" author:"+this.getAuthor()); }};//var theHobbit = new Book(123, '', 'J. R. R. Tolkein'); // 非字符串抛出异常var theHobbit = new Book('1990-78sd-1092', '', 'J. R. R. Tolkein');theHobbit.display();//theHobbit.convertToTitleCase(); // Uncaught TypeError: Object #<Object> has no method 'convertToTitleCase'Book.convertToTitleCase(); // 输出convertToTitleCasevar theHobbit2 = new Book('1990-78sd-1092', '', 'J. R. R. Tolkein');theHobbit2.display();var theHobbit3 = new Book('1990-78sd-1092', '', 'J. R. R. Tolkein');theHobbit3.display();var theHobbit4 = new Book('1990-78sd-1092', '', 'J. R. R. Tolkein');theHobbit4.display();var theHobbit5 = new Book('1990-78sd-1092', '', 'J. R. R. Tolkein');theHobbit5.display();var theHobbit6 = new Book('1990-78sd-1092', '', 'J. R. R. Tolkein');theHobbit6.display(); // Uncaught Error: Book: Only 5 instances of Book can be created.</script>

这里已经把js出神入化了,佩服到极致,代码清晰简洁,美观,注释恰到好处。

更多关于JavaScript相关内容可查看本站专题:《JavaScript常用函数技巧汇总》、《javascript面向对象入门教程》、《JavaScript中json操作技巧总结》、《JavaScript切换特效与技巧总结》、《JavaScript查找算法技巧总结》、《JavaScript动画特效与技巧汇总》、《JavaScript错误与调试技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》及《JavaScript数学运算用法总结

希望本文所述对大家JavaScript程序设计有所帮助。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表