var flashStep = 1;
function flash() {
 if(flashStep==1) {
 document.bgColor="FFFF00";
 flashStep=2;
 }
 else {
 document.bgColor="FF0000";
 flashStep=1;
 }
}
var task = window.setInterval("flash()",1000);


该代码应该使屏幕闪烁,但根本不起作用。 http://jsfiddle.net/phjnM/2/。为什么这行不通,对我来说看起来很完美

最佳答案

问题是当您将字符串传递给setInterval时将应用(全局)作用域。如果传递函数引用,则可以:

var task = window.setInterval(flash,1000);

http://jsfiddle.net/phjnM/7/

另一个选项是在jsfiddle中,选择“ nowrap”选项,这样就不会在onload / onready处理程序的作用域中定义您的代码...

10-06 15:18