先看代码
//利用闭包实现
var Book = (function(){ //按照编程习惯一般讲代表类的变量名首字母大写
//静态私有变量
var bookNum = 0;
//静态私有方法
function checkBook(name){};
//创建类
function _book(newID, newName, newPrice){
//私有变量
var name, price;
//私有方法
function checkID(id){}
//特权方法
this.getName = function(){};
this.getPrice = function(){};
this.setName = function(){};
this.setPrice = function(){};
//公有属性
this.ID = newID;
//公有方法
this.copy = function(){};
bookNum++
if(bookNum > 100)
throw new Error('我们仅出版100本书.');
//构造器
this.setName(name);
this.setPrice(price);
}
//构建原型
_book.prototype = {
//静态公有属性
isJSBook : false;
//静态公有方法
display : function(){};
};
//返回类
return _book;
})()
基本思想
在一个立即执行函数中构建一个闭包(通过构造函数和构建原型)来创建一个类,然后通过return返回类并赋值给一个全局变量;