在下面的代码中,为什么console.log(myObject.obj1)在控制台中显示 proto 对象而不是实际的对象数据?同时,我可以使用console.log(myObject)看到obj1数据。
$(function () {
var myObject = {
obj1: {},
}
$.ajax({
url: "foobar.json",
success: function (data) {
myObject.obj1 = data.obj1;
}
});
console.log(myObject); // displays myObject data in console!
console.log(myObject.obj1 ) // displays a __proto__ object :(
});
如果这与异步代码有关,为什么console.log(myObject)有效?也许这与范围有关,即myObject.obj1超出范围?