无为清净楼资源网 Design By www.qnjia.com
在网上看了很多JavaScript的项目, 用到对象都是采用{}的形式:
例如jQuery, TinyMCE等都是形如:
复制代码 代码如下:
var Dialog =
{
int : function() { .... },
insert : function() { .... },
pop : function() { .... }
};
//调用就是:
Dialog.init();
而我自己一直使用function闭包的方式, 感觉使用内部私有成员(函数,变量)更方便:
复制代码 代码如下:
function classDialog()
{
var box = "sdfsdf"; //init, insert等函数中调用公共变量就会很方便, 调用内部函数也很方便(如可以直接调用 search()).
this.init = function() { .... };
this.insert = function() { .... };
this.pop = function() { .... };
function search() { .... }
}
var Dialog = new classDialog();
Dialog.init();
看到TinyMCE在需要使用似有函数的时候, 是在init : function() { } 这个函数内部又定义了一个函数, 但是这样的话, 这个函数就只能 init调用, 其他方法就没办法共用这个私有函数了.
当然暂时还没有看到一个私有函数被多个公共函数调用的例子.
我想问问各位大神么, 既然function(){} 闭包创建对象使用那么方便, 为什么 {} 方法还用的那么广泛呢?
是不是 function() {} 创建的对象有什么缺陷?
回复:
对于直接使用{}创建对象..这种情况在创建极少数对象的情况下且不需要封装的情况下使用,对于需要批量创建对象的情况使用构造函数来实例化对象就非常方便 主要还是看具体的情况吧
这两种是完全不一样的东西。
{}可以算做一个单例(单例模式)
function(){} 这种返回一个对象。每次都NEW的时候返回都是一个不同的对象!
上面有同学也说了 {} 更效率了。而且不用new。{} 全局固定,可任意扩展。
一般来说{}确实效率高,使用简单随意,不过不想暴漏某些方法时候用 function 更好
例如jQuery, TinyMCE等都是形如:
复制代码 代码如下:
var Dialog =
{
int : function() { .... },
insert : function() { .... },
pop : function() { .... }
};
//调用就是:
Dialog.init();
而我自己一直使用function闭包的方式, 感觉使用内部私有成员(函数,变量)更方便:
复制代码 代码如下:
function classDialog()
{
var box = "sdfsdf"; //init, insert等函数中调用公共变量就会很方便, 调用内部函数也很方便(如可以直接调用 search()).
this.init = function() { .... };
this.insert = function() { .... };
this.pop = function() { .... };
function search() { .... }
}
var Dialog = new classDialog();
Dialog.init();
看到TinyMCE在需要使用似有函数的时候, 是在init : function() { } 这个函数内部又定义了一个函数, 但是这样的话, 这个函数就只能 init调用, 其他方法就没办法共用这个私有函数了.
当然暂时还没有看到一个私有函数被多个公共函数调用的例子.
我想问问各位大神么, 既然function(){} 闭包创建对象使用那么方便, 为什么 {} 方法还用的那么广泛呢?
是不是 function() {} 创建的对象有什么缺陷?
回复:
对于直接使用{}创建对象..这种情况在创建极少数对象的情况下且不需要封装的情况下使用,对于需要批量创建对象的情况使用构造函数来实例化对象就非常方便 主要还是看具体的情况吧
这两种是完全不一样的东西。
{}可以算做一个单例(单例模式)
function(){} 这种返回一个对象。每次都NEW的时候返回都是一个不同的对象!
上面有同学也说了 {} 更效率了。而且不用new。{} 全局固定,可任意扩展。
一般来说{}确实效率高,使用简单随意,不过不想暴漏某些方法时候用 function 更好
标签:
面向对象
无为清净楼资源网 Design By www.qnjia.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
无为清净楼资源网 Design By www.qnjia.com
暂无评论...
更新日志
2024年09月30日
2024年09月30日
- 纪钧瀚《钢琴阅读时光 雨中书店聆听轻音乐》[FLAC/分轨][399.62MB]
- 证声音乐图书馆《走向自然 疗心爵士乐》[320K/MP3][87.4MB]
- 证声音乐图书馆《走向自然 疗心爵士乐》[FLAC/分轨][184.94MB]
- 陈慧娴.2018-Priscilla-Ism演唱会3CD(2024环球红馆40复刻系列)【环球】【WAV+CUE】
- 郑秀文.1999-我应该得到(国)【华纳】【WAV+CUE】
- 陈家慧.2011-钢琴酒吧2CD【龙吟唱片】【WAV+CUE】
- 证声音乐图书馆《雨季 蓝调吉他 Rainy Blues》[320K/MP3][45.01MB]
- 证声音乐图书馆《雨季 蓝调吉他 Rainy Blues》[FLAC/分轨][109.13MB]
- 赞多《序章》[320K/MP3][45.54MB]
- 许巍.2004-每一刻都是崭新的【步升大风】【WAV+CUE】
- 群星.2024-四方馆影视原声带【韶愔音乐】【FLAC分轨】
- 陈雷.1997-安锁咧【金圆唱片】【WAV+CUE】
- 关淑怡.2013-MY.FAVORITE.SK.3CD【环球】【WAV+CUE】
- Sweety.2006-花言乔语【丰华】【WAV+CUE】
- 李恕权.2003-回·20年全精选2CD【SONY】【WAV+CUE】