は私のJavaScriptコードです:このオブジェクトが突然定義されていないのはなぜですか?ここ
var Model =
{
get: function(id)
{
return this.data[id];
},
data: {},
init: function()
{
var self = this;
$.getJSON(urlToServer, function(data)
{
$.each(data, function(i, object)
{
self.data[object.id] = object;
console.log(object.id); // output is: 1, then 2, then 3
});
});
}
};
Model.init();
console.log(Model); // output is the initialized object with children objects 1, 2, 3
console.log(Model.get(1)); // output is undefined
あなたは、私がコメントを入れコンソール出力からわかるように、すべてがコードの最後の行まで正常に動作します。モデルを定義し、サーバーによって提供されるいくつかのJSONオブジェクトで初期化します。しかし、突然、get()メソッドで単一の子オブジェクトにアクセスしようとすると、モデルは未定義のように見えます。
私はちょうどそれを得ることはありません、私を助けてください。
ありがとうございました。
ハッキングされた例がここにあります:http://jsfiddle.net/jtbowden/dxFmP/1/ –