方法返回未定义
Method is returning undefined
我在for循环中有一段JS代码:
window.gamesParse = {
days: days,
dates: dates,
times: times,
series: series,
homes: homes,
aways: aways,
channels: channels
}
var image = $.get("assets/images/" + gamesParse.aways[i] + ".png");
if (image.status !== 404) {
console.dir(image);
} else {
console.dir(image);
}
现在,它 returns 具有 status
属性 的正确对象。但是,如果我将 image
更改为 image.status
(或任何其他 属性 或方法),它 returns 未定义。
正常吗?我如何从那里访问 status
属性?
image
是未定义的,因为它在get动作之外,尝试将其放入回调函数中。像这样:
$.get("assets/images/" + gamesParse.aways[i] + ".png", function(response) {
if (response.status !== 404) {
// do stuff here
} else {
// or here
}
});
检查docs。
这是正常的,因为 $.get
是异步的,在当前代码中这意味着它 加载 数据。但是在下一行中,您询问了图像的状态,实际上它仍在加载中。您要做的就是等待图像加载,然后检查代码。类似于:
$.get("assets/images/" + gamesParse.aways[i] + ".png", function(image) {
// here image can have status
});
我在for循环中有一段JS代码:
window.gamesParse = {
days: days,
dates: dates,
times: times,
series: series,
homes: homes,
aways: aways,
channels: channels
}
var image = $.get("assets/images/" + gamesParse.aways[i] + ".png");
if (image.status !== 404) {
console.dir(image);
} else {
console.dir(image);
}
现在,它 returns 具有 status
属性 的正确对象。但是,如果我将 image
更改为 image.status
(或任何其他 属性 或方法),它 returns 未定义。
正常吗?我如何从那里访问 status
属性?
image
是未定义的,因为它在get动作之外,尝试将其放入回调函数中。像这样:
$.get("assets/images/" + gamesParse.aways[i] + ".png", function(response) {
if (response.status !== 404) {
// do stuff here
} else {
// or here
}
});
检查docs。
这是正常的,因为 $.get
是异步的,在当前代码中这意味着它 加载 数据。但是在下一行中,您询问了图像的状态,实际上它仍在加载中。您要做的就是等待图像加载,然后检查代码。类似于:
$.get("assets/images/" + gamesParse.aways[i] + ".png", function(image) {
// here image can have status
});