js面向对象编程,一个具有各种方法,字段 完整的类
var Book = (function() { // 私有静态成员变量 var numOfBooks = 0; // 私有静态成员方法 function checkIsbn(isbn) { ... } // Return the constructor. 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‘; }; // Constructor code. numOfBooks++; // Keep track of how many Books have been instantiated // with the private static attribute. if(numOfBooks > 50) throw new Error(‘Book: Only 50 instances of Book can be ‘ + ‘created.‘); this.setIsbn(newIsbn); this.setTitle(newTitle); this.setAuthor(newAuthor); } })(); // 共有静态方法 Book.convertToTitleCase = function(inputString) { ... }; // 共有方法 Book.prototype = { display: function() { ... } };
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。