gpt4 book ai didi

javascript - javascript 和返回值的问题

转载 作者:行者123 更新时间:2023-11-30 18:40:18 25 4
gpt4 key购买 nike

function find_image_dm(imgsrc){
window.imgwidth = "";
var img = new Image();

img.onload = function test() {
var width = this.width;
var height = this.height;

if (height > 300) {
var x = height/300;
window.imgwidth = Math.ceil(width/x);
}
}

img.src = imgsrc;

return(window.imgwidth);
}

我想返回 window.imgwidth 以便我可以在其他地方使用它,但是如果我尝试提醒它或类似的东西,它会显示为空白。我如何返回它的值。 window.imgwidth 是我尝试创建一个全局变量。我不需要窗口的宽度

最佳答案

您尝试的问题是onload 回调异步执行。因此,您无法可靠地返回 任何内容,因为onload 回调会在未来某个时间执行。与其考虑返回值,不如考虑将回调函数参数传递给您的 find_image_dm 函数:

function find_image_dm(imgsrc, callback)
{
var img = new Image();

img.onload = function()
{
callback(this.width, this.height);
};

img.src = imgsrc;
}

你会像这样使用:

function onReturnSize(w, h)
{
console.log('image width is', w);
console.log('image height is', h);
}

find_image_dm('http://placekitten.com/2200/1200', onReturnSize);

演示:http://jsfiddle.net/mattball/pTKW4/

关于javascript - javascript 和返回值的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7048395/

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