方法返回未定义

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
});