我正在编写这段代码,作为一名JS新手,我被困在这里,需要帮助。您将如何重写这个块,使用%运算符,而不是if语句?
<!DOCTYPE html>
<html>
<head>
<script>
window.onload=function(){
var letters = ["A","B","C"]
var counter = 0;
var timer=setInterval(
function(){
counter= counter+1;
if (counter==letters.length){
counter=0;
}
document.getElementById("demo").value=letters[counter];
},1000)
}
</script>
</head>
<body>
<input type="text" id="demo" value="A">
</body>
</html>
只需在执行加法操作后使用它,即可返回除法(或模数(后的余数:
const letters = ["A","B","C"]
let counter = 0;
setInterval(function(){
counter = (counter+1) % letters.length;
document.getElementById("demo").value = letters[counter];
}, 1000);
<input type="text" id="demo" value="A" />
还有一些其他提示,如果值没有改变(比如数组(,请使用const
,如果值确实可以改变,则使用let
。此外,您不需要在这里存储您的间隔,因为您永远不会取消它,所以在这种情况下不需要const timer
。大大简化了代码!