我試圖在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