var foo= {} ;foo.method() 和 function foo有什么区别
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()
```
一直弄不懂 这两种写法有什么区别 分别适应于什么情况 那个写法更优一点呢? 跪求解惑
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
直接一点的区别:
第二种方式相当于对执行结果做了
缓存
,好处就是缓存该有的好处(再次读取时更快),坏处也是缓存的坏处(占用资源/内存 更多,更久)。第二种是单例的实现方式