我一直在學習更多關於JavaScript的原型繼承。我知道關於是否擴展本地對象存在着一場激烈的爭論,我想在這個問題上全面辯論整個辯論。在javascript中擴展後代對象
是否有可能在JavaScript中只擴展後代對象?
延長所有對象我可以這樣做:
Object.prototype.size = function(){
var length = 0;
for(var i in this){
if(this.hasOwnProperty(i)){
length++;
}
}
return this;
}
但問題是,它擴展的所有對象。我想要做的是這樣的:
var MyNameSpace = function(){
};
MyNameSpace.Object.prototype.size = function(){
var length = 0;
for(var i in this){
if(this.hasOwnProperty(i)){
length++;
}
}
return this;
}
這樣我只會擴展我的全局對象範圍內的本地對象。
任何建議將是巨大的感謝
更新:
在迴應一些評論,我加入了更多的代碼來澄清我想要做的事。
我想我可能沒有正確表述我的問題,也許我的想法是不正確的,但我希望能夠做到的是:
var my = new MyNameSpace();
var my.name = {firstName : 'Hello', lastName : 'World'};
var nameCount = my.name.size(); // 2
您提供的代碼將允許我讓每個myNameSpace對象對象創建的大小,而不是字面對象屬於myNameSpace對象對象的屬性
你可以使用自己的對象來建立其他... – Anonymous 2010-02-05 05:59:02