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]];
}
}
親の値が毎回正しく設定されていないようです。私が見逃している非常に基本的なものだと確信していますが、それが何であるかはわかりません。
前もって感謝します。
リチャード