Rya*_*yan 3 javascript setinterval
这是我的代码:
var showNo = 1;
window.setInterval(function() {
console.log(showNo);
if(showNo === 1) { var nextNo = 2; }
else if(showNo === 2) { var nextNo = 3; }
else if(showNo === 3) { var nextNo = 4; }
else if(showNo === 4) { var nextNo = 5; }
else if(showNo === 5) { var nextNo = 1; }
else { var showNo = 1; var nextNo = 2; }
var showNo = nextNo;
}, 500);
Run Code Online (Sandbox Code Playgroud)
我的问题是,当setInterval循环启动时,为什么showNo变量没有保持?控制台在上面的示例中显示"未定义".这可能是一个简单的问题,但我正在努力教自己查询,这让我卡住了..
任何答案都会很棒.
谢谢.
Jac*_*kin 10
您正在重新创建一个名为的新LOCAL变量showNo,它不引用调用的GLOBAL变量showNo.
使用全局变量是非常糟糕的做法,我建议将其包装在匿名函数中
我想这就是你要做的事情:
(function() {
var showNo = 1;
window.setInterval(function() {
console.log(showNo);
if( showNo >== 1 && showNo <== 4 ) {
showNo++;
} else if( showNo === 5 ) {
showNo = 1;
} else {
showNo = 2;
}
}, 500);
})();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4670 次 |
| 最近记录: |