setTimeout("xxx",500)
双引号中的作用域不捕捉局部变量,因此会报错误
如果你需要在双引号中可以在外部定义一个变量
var now;
window.onload = function(){
var dom = document.getElementById("nowTime");
var getNowTime = function(){
return Date().split(" ");
}
var setNowTime = function(){
var arr = getNowTime();
dom.innerHTML = arr;
now=setNowTime
setTimeout("now()", 500);
}
setNowTime();
}
追问:
setTimeout(setNowTime, 500); 可以,为什么呢?
追答:
不用双引号包着的是捕捉局部作用域的
var a = function() { alert(1111) } function abc() { var a= function () { alert(2222) } setTimeout("a()",3000)//111 setTimeout(a,3000)//222 } abc()