完善一个类:利用闭包、自检测this
var Book = (function(){
//静态私有变量
var _num = 0
//静态私有方法
function checkBook(){}
//创建类
function _book (id, bookName){
//优化用户忘记使用new关键词实例化对象
//没有new关键词,this则指向Book函数执行所在的作用域(全局作用域window)
if( !(this instanceof Book) ){
return new _book(id, bookName);
}
//私有变量
var name;
//私有方法
function check(){}
//特权方法
this.setName = function(){}
this.getName = function(){}
//对象公有属性
this.id = id
//对象公有方法
this.show = function(){}
_num++;//使用静态私有变量
//构造器
this.setName(bookName)
}
//构建原型
_book.prototype = {
//公有属性(所有实例化对象共享)
count: 0,
//公有方法(所有实例化对象共享)
getCount: function(){}
}
//返回类
return _book;
})();