将局部变量传递给另一个函数

Passing local variable to another function?

本文关键字:另一个 函数 局部变量      更新时间:2023-09-26

>我正在从一个具有多个图像选项的 API 中提取数据,并且我有一个函数,我想从其他几个称为 validateBoxArt 的函数中调用该函数,该函数选择可用最大图像的 URL。

我在另一个函数中调用它,如下所示:

$.each(data.results, function(index, game) {
    validateBoxArt(game);
    $('#dynamic-content').append('<a href="title.html?id=' + game.id + '">' +
        '<div class="row game-preview">' +
        '<div class="col-lg-8 col-lg-offset-2 col-md-10 col-md-offset-1 col-sm-12">' +
        '<img src="' + boxArt + '" class="game-preview-image">' +
        '<h2 style="display:inline-block; padding-left:5px;" class="post-title">' + game.name + ' <span class="small">' + year + '</span></h2>' +
        '</div>' +
        '</div>' +
        '</a>' +
        '<hr>');
    });
}

函数本身:

function validateBoxArt(game) {
    if (game.image.super_url != undefined) {
        var boxArt = staticUrl+game.image.super_url;
    }
    else if (game.image.large_url != undefined) {
        var boxArt = staticUrl+game.image.large_url;
    }
    else if (game.image.medium_url != undefined) {
        var boxArt = staticUrl+game.image.medium_url;
    }
    else if (game.image.small_url != undefined) {
        var boxArt = staticUrl+game.image.small_url;
    }
    else{
        var boxArt = 'http://placehold.it/500x350';
    }
    console.log(boxArt);
    return boxArt;
}

第一个函数中的框艺术返回一条错误消息,指出未定义,但变量出现在控制台日志中,如何在初始函数中检索变量以便对其进行定义?

您需要将从 validateBoxArt() 重新调整的字符串分配给变量:

var boxArt = validateBoxArt(game);