javascript引用错误
首先,当图像加载时,我调用函数reloadImage1,如下所示:javascript引用错误,javascript,settimeout,Javascript,Settimeout,首先,当图像加载时,我调用函数reloadImage1,如下所示: <img src="loading.gif" onload="reloadImage1(this,'newphoto.jpg')"> 这是重新加载的图像2: function reloadImage2(img,isrc) { img.removeAttribute("onload"); img.src = isrc; } 执行reloadImage1时,我收到以下错误消息: function re
<img src="loading.gif" onload="reloadImage1(this,'newphoto.jpg')">
这是重新加载的图像2:
function reloadImage2(img,isrc)
{
img.removeAttribute("onload");
img.src = isrc;
}
执行reloadImage1时,我收到以下错误消息:
function reloadImage1(img,isrc)
{
setTimeout("reloadImage2(img,isrc)",2000);
}
参考错误:未定义img
尝试将重新加载图像1
更改为:
function reloadImage1(img, isrc) {
setTimeout(function() {
reloadImage2(img, isrc);
}, 2000);
}
检查此演示:尝试将
重新加载图像1
更改为:
function reloadImage1(img, isrc) {
setTimeout(function() {
reloadImage2(img, isrc);
}, 2000);
}
在代码中选中此演示:
> function reloadImage1(img,isrc) {
img和src是函数的局部变量
> setTimeout("reloadImage2(img,isrc)",2000);
> }
将字符串传递给setTimeout时,它在全局上下文中执行,它无权访问函数中的变量img和src。而是将具有闭包的函数传递给原始函数上下文,例如:
setTimeout(function() {reloadImage2(img,isrc);}, 2000);
在代码中:
> function reloadImage1(img,isrc) {
img和src是函数的局部变量
> setTimeout("reloadImage2(img,isrc)",2000);
> }
将字符串传递给setTimeout时,它在全局上下文中执行,它无权访问函数中的变量img和src。而是将具有闭包的函数传递给原始函数上下文,例如:
setTimeout(function() {reloadImage2(img,isrc);}, 2000);
决不应将函数作为字符串传递给
setTimeout
,而应使用空白的function(){}
wrap。决不应将函数作为字符串传递给setTimeout
,而应使用空白的function(){}
wrap。