javascript的单例模式:即只有一个实例;
模块模式是在单例模式上扩展而来的
//这种是字面量定义了单例对象的公共接口;
字面量对象调用私有变更和私有函数
var Book=(function(){
let name='';
checkBook=function(value){
name=value;
}
return{
setName:function(value)
{
checkBook(value);
},
getName:function(){
return name;
}
}
})();
Book.setName('daf');
console.log(Book.getName());
//这种是必须用new实例化对象,再返回匿名函数对象
匿名函数做为公共接口,调用私有变更和私有函数
let Book=(function(){
let bookName='';
function inputName(name){
bookName=name;
}
return function(){
this.setName=function(value)
{
inputName(value);
};
this.getName=function(){
return bookName;
}
}
})();
let book=new Book();
book.setName('fasdfe');
console.log(book.getName());
可看看他们接口只间的区别和实例化调用的区别