我正在尝试将命名空间方法添加到 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]];
}
}
似乎每次都没有正确设置 parent 的值。我确定它是我缺少的一些非常基本的东西,但我不确定它是什么。
提前致谢。
理查德