var Foo={}
Foo.method = function() {
return {
a:function(){
console.log('aa')
},
b:function(){
console.log('bb')
}
}
}
Foo.method().a();
Foo.method().b();
var bar=(function(){
var instance;
function init(){
return {
a:function(){
console.log('cc')
},
b:function(){
console.log('ee')
}
}
}
return {
method : function (){
if(!instance) {
instance = init()
}
return instance
}
}
}());
bar.method().a()
"
一直弄不懂 这两种写法有什么区别 分别适应于什么情况 那个写法更优一点呢? 跪求解惑
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
直接一点的区别:
第二种方式相当于对执行结果做了
缓存
,好处就是缓存该有的好处(再次读取时更快),坏处也是缓存的坏处(占用资源/内存 更多,更久)。第二种是单例的实现方式