【发布时间】:2016-05-20 18:12:45
【问题描述】:
这就是我所拥有的:
var test = '';
var img = new Image();
img.src = 'https://blahblah';
img.onload = function () {
test = 'Sam';
}
当我console.log(test) 时,它什么也没显示。如何在onload 中为test 赋值?
【问题讨论】:
-
您是否将
img附加到DOM?您需要在onload触发之前执行此操作。 -
@SimianAngel,是的,我做到了,它就在那里。
-
嗯...一旦我将
img附加到 DOM,我就会在这个 CodePen 中显示它:codepen.io/anon/pen/pyXQbv?editors=1111 -
@SimianAngel - 我认为提问者想要在函数内修改函数范围之外的变量,您的代码笔没有反映这一点。
-
@SeattleAls - 您的目标是修改测试变量,但该变量不会存在于函数的范围内。一个廉价(和肮脏)的修复方法是让 test 成为一个全局变量。