由于JavaScript范围,分配变量时出错

时间:2018-12-25 16:37:26

标签: javascript scope

我有一个带有一些参数的函数,我想在if语句中将参数分配给一个值。但是,我分配的值在函数的其他部分中有所不同。我确定这是由于范围所致,但我不知道如何解决。

this.img = function(sx, sy, img, sw, sh, dx, dy, dw, dh) {
    sw = 0;
    sh = 0;
    image.addEventListener('load', function() {
        if(found) {
            sw = this.width;
            sh = this.height;
            console.log(sw + ' ' + sh);
        }
    })
    console.log(sw + ' ' + sh);
}

请注意,正在输入“ if(found)”(我正在其他地方更改布尔值)。第一个console.log返回正确的值225、225。但是第二个console.log返回0、0。

如果有人知道我这里的范围有什么问题,那太好了。

0 个答案:

没有答案