类似这样的闭包能大量应用吗

Ningsy 2015-10-05 10:31:15
var test_obj={};
(function(){
var private_num=123;
test_obj.test_property=function(){private_num++;console.log(private_num);};
test_obj.test_property_2=function(){...};
}());

就是,定义一个作为作用域的空对象,然后在函数作用域里给它慢慢添加私有变量和属性(方法)。

看了几本书,闭包的应用例子都是return闭包函数来使用,然而个人觉得上述使用方法不是条理更清晰吗?

所以想问各位大神,大量使用这种结构有没有任何安全性或效率上的问题,或者你一般是怎么用的?
...全文
140 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Ningsy 2015-10-15
  • 打赏
  • 举报
回复
引用 2 楼 show_me_the_world 的回复:
后面动态添加属性会降低程序可读性哦,最好还是定义在对象里面好点 var box={ str:“ ”, getStr:function(){ return this.str; }, setStr:function(s){ this.str=str; } } 这样定义一个私有变量会清晰些吧,个人观点,仅供参考
..这个box.str不是变成公开的了吗?
天际的海浪 2015-10-06
  • 打赏
  • 举报
回复
大量使用这种结构没有任何问题,只要你的程序自己条理清楚就可以用。 可能有时使用不当会占用内存比较多,不过对现在的电脑来说,内存占用问题可以无视了
show_me_the_world 2015-10-06
  • 打赏
  • 举报
回复
后面动态添加属性会降低程序可读性哦,最好还是定义在对象里面好点 var box={ str:“ ”, getStr:function(){ return this.str; }, setStr:function(s){ this.str=str; } } 这样定义一个私有变量会清晰些吧,个人观点,仅供参考

87,993

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧