最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

js面向?qū)ο笤O(shè)計(jì)用{}好還是function(){}好(構(gòu)造函數(shù))

 更新時(shí)間:2011年10月23日 14:18:45   作者:  
js面向?qū)ο笤O(shè)計(jì)用{}好還是function(){}好,大家給予了回復(fù),感覺(jué)不錯(cuò),特分享給大家。
在網(wǎng)上看了很多JavaScript的項(xiàng)目, 用到對(duì)象都是采用{}的形式:
例如jQuery, TinyMCE等都是形如:
復(fù)制代碼 代碼如下:

var Dialog =
{
int : function() { .... },
insert : function() { .... },
pop : function() { .... }
};
//調(diào)用就是:
Dialog.init();


而我自己一直使用function閉包的方式, 感覺(jué)使用內(nèi)部私有成員(函數(shù),變量)更方便:
復(fù)制代碼 代碼如下:

function classDialog()
{
var box = "sdfsdf"; //init, insert等函數(shù)中調(diào)用公共變量就會(huì)很方便, 調(diào)用內(nèi)部函數(shù)也很方便(如可以直接調(diào)用 search()).

this.init = function() { .... };
this.insert = function() { .... };
this.pop = function() { .... };

function search() { .... }
}
var Dialog = new classDialog();
Dialog.init();

看到TinyMCE在需要使用似有函數(shù)的時(shí)候, 是在init : function() { } 這個(gè)函數(shù)內(nèi)部又定義了一個(gè)函數(shù), 但是這樣的話, 這個(gè)函數(shù)就只能 init調(diào)用, 其他方法就沒(méi)辦法共用這個(gè)私有函數(shù)了.
當(dāng)然暫時(shí)還沒(méi)有看到一個(gè)私有函數(shù)被多個(gè)公共函數(shù)調(diào)用的例子.


我想問(wèn)問(wèn)各位大神么, 既然function(){} 閉包創(chuàng)建對(duì)象使用那么方便, 為什么 {} 方法還用的那么廣泛呢?

是不是 function() {} 創(chuàng)建的對(duì)象有什么缺陷?

回復(fù):
對(duì)于直接使用{}創(chuàng)建對(duì)象..這種情況在創(chuàng)建極少數(shù)對(duì)象的情況下且不需要封裝的情況下使用,對(duì)于需要批量創(chuàng)建對(duì)象的情況使用構(gòu)造函數(shù)來(lái)實(shí)例化對(duì)象就非常方便 主要還是看具體的情況吧

這兩種是完全不一樣的東西。

{}可以算做一個(gè)單例(單例模式)

function(){} 這種返回一個(gè)對(duì)象。每次都NEW的時(shí)候返回都是一個(gè)不同的對(duì)象!

上面有同學(xué)也說(shuō)了 {} 更效率了。而且不用new。{} 全局固定,可任意擴(kuò)展。

一般來(lái)說(shuō){}確實(shí)效率高,使用簡(jiǎn)單隨意,不過(guò)不想暴漏某些方法時(shí)候用 function 更好

相關(guān)文章

  • javascript中類(lèi)的定義及其方式(《javascript高級(jí)程序設(shè)計(jì)》學(xué)習(xí)筆記)

    javascript中類(lèi)的定義及其方式(《javascript高級(jí)程序設(shè)計(jì)》學(xué)習(xí)筆記)

    javascript也是一種面向?qū)ο蟮木幊陶Z(yǔ)言。但是javascript中的類(lèi)相關(guān)的東西(類(lèi)的定義,原型鏈,繼承等)卻不是很好理解,特別是繼承。
    2011-07-07
  • 最新評(píng)論

    孝义市| 南昌县| 万载县| 汉川市| 湘乡市| 阜宁县| 察隅县| 喀喇沁旗| 马边| 德昌县| 嘉定区| 阿图什市| 犍为县| 和林格尔县| 潜江市| 安化县| 航空| 嵊泗县| 黄平县| 柘荣县| 岗巴县| 新沂市| 子长县| 东至县| 元谋县| 林西县| 安阳市| 饶平县| 聂拉木县| 绍兴县| 西华县| 子长县| 张家口市| 林口县| 海城市| 桦南县| 靖宇县| 辉县市| 兴国县| 光泽县| 黑河市|