这是完整的代码:
<html>
<head>
<script type='text/javascript'>
var banners = ["Red.jpg","Amber.jpg","Green.jpg"];
var bnrCntr = 0;
var timer;
function banCycle()
{
if(++bnrCntr == 3)
bnrCntr = 0;
document.images.banner.src = banners[bnrCntr];
timer = setTimeout("banCycle()",1000);
}
function stopCycle()
{
clearTimeout(timer);
}
</script>
</head>
<body>
<img src="Red.jpg" name="banner" width=110 height=200>
<form>
<input type="button" value="Cycle" name="Cycle" onclick="banCycle()">
<input type="button" value="Stop" name="Stop" onclick="stopCycle()">
</form>
</body>
</html>
这是我不理解的界限:
if(++bnrCntr == 3)
有人能告诉我这行是做什么的吗?
答案 0 :(得分:2)
该行
if (++bnrCntr == 3)
和
做同样的事情if ((bnrCntr += 1) == 3)
或
bnrCntr = bnrCntr + 1;
if (bnrCntr == 3)
bnrCntr
的值递增,然后将结果分配回变量。然后将该值与3
进行比较。 ++
运算符称为前缀增量运算符。
答案 1 :(得分:0)
它首先将bnrCntr
值增加1,如果该值等于3,则将其设置回0.您可以通过这种方式更改圆形横幅。你也可以这样写,所以它更容易理解:
if (++bnrCntr == banners.length)
bnrCntr = 0;
因此,当索引超出数组的范围时,从头开始。