繁体   English   中英

返回img.onload的var = function()

[英]return var of img.onload = function()

如何返回“ summe”的值? 谢谢!

img.onload = function() {
    orgWidth = this.width;
        orgHeight = this.height;

    factor = orgHeight / 480            // 1400 / 480 = 2.916
    calcWidth = orgWidth / factor       // 1000 / 2.916 = 342.935

    k++;

    summe += calcWidth;
    document.images[k].width = calcWidth;
}
alert(summe);
return summe;

但更重要的是,返回什么? 这看起来像一个回调,这意味着您正在定义一个在图像加载时运行的函数,因此浏览器本身将自动调用该函数,并且您将无法对返回的值做任何事情。

回调返回值真正拥有的唯一含义是return false通常将停止事件冒泡并阻止默认操作( 并且不应过度使用 )。

您到底想做什么?

如果要使用返回值,则必须至少具有一个函数名才能稍后使用它,如下所示:

var func_name = function() {
    orgWidth = this.width;
        orgHeight = this.height;

    factor = orgHeight / 480            // 1400 / 480 = 2.916
    calcWidth = orgWidth / factor       // 1000 / 2.916 = 342.935

    k++;

    summe += calcWidth;
    document.images[k].width = calcWidth;
}

var funcObject;

img.onload = function() {
    funcObject = func_name();
}

之后,您可以在任何地方使用funcObject来使用您的返回值

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM