我一直在学习更多关于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