gpt4 book ai didi

javascript - 为什么这个对象突然未定义?

转载 作者:行者123 更新时间:2023-11-30 08:59:42 26 4
gpt4 key购买 nike

这是我的 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() 方法访问单个子对象时,模型似乎未定义。

我只是不明白,请帮帮我。

谢谢。

最佳答案

查看您使用的示例代码,Model.get(1) 将始终返回未定义。

$.getJSON 是一个 AJAX 调用,不一定立即返回(称为异步)。您将需要使用提供给 $.getJSON 的回调来触发任何依赖于 Model.get(1) 的逻辑,否则它将保持未定义状态。

关于javascript - 为什么这个对象突然未定义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10303889/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com