我试图在JavaScript中将对象原型的名称空间方法添加到该对象原型中。将名称空间方法添加到对象原型
我想做些什么可以做的是:
var myObj = {}
myObj.namespace('nested.objects.are.created.if.not.present')
但我迷路。做一个泛型函数似乎很容易,但不是将它添加到原型中。
以下是我有:
Object.prototype.namespace = function(ns_string) {
var parts = ns_string.split('.');
var parent = this;
var i;
var length = parts.length
for (i = 0; i < length; i++) {
// Create a property if it doesnt exist
if (typeof parent[parts[i]] === "undefined") {
parent[parts[i]] = {};
}
parent = parent[parts[i]];
}
}
看来,家长的价值没有被正确设置各一次。林肯定它的东西非常基本,我失踪了,但林不知道它是什么。
在此先感谢。
理查德
我只是试过你的代码(http://jsfiddle.net/TykH3/),它的工作,但我不认为这是一个好主意,修改对象的原型.. – Onkelborg 2012-07-17 21:32:58
[你将无法如果你这样做,在你的页面上使用jQuery](http://docs.jquery.com/Won't_Fix#Object.prototype_Issues)。 – Esailija 2012-07-17 21:39:55
@ByRichardPowell我想你可能误解了,如果有人真的说没关系。你有任何参考? – Esailija 2012-07-17 21:41:10