gpt4 book ai didi

javascript - 为什么不能在函数中使用局部变量?

转载 作者:行者123 更新时间:2023-12-03 01:15:48 25 4
gpt4 key购买 nike

我有一个关于setTimeout的问题,我的代码如下:

<script type="text/javascript">
var s =-1;
setImage();
function setImage(){
var img=new Array();
var url=new Array();
img[0]="images/oak.gif";url[0]="http://oakland.athletics.mlb.com/";
img[1]="images/was.gif";url[1]="http://washington.nationals.mlb.com/";
img[2]="images/chc.gif";url[2]="http://chicago.cubs.mlb.com/";
img[3]="images/sd.gif";url[3]="http://sandiego.padres.mlb.com/";
s+=1;
if(s>=img.length){
s==0;
};
document.getElementById("imgsrc").src=img[s];
document.getElementById("imghref").href=url[s];
setTimeout(setImage,1000);
};
</script>

我很困惑为什么我无法更改 function setImage() 中的 var s=-1,例如:

        **var s=-1**
s+=1;
if(s>=img.length){
s==0;
};

该功能不起作用。我认为问题出在全局变量和局部变量上,但我没有明确的看法。

代码结果将是

		var s =-1;
setImage();
function setImage(){
var img=new Array();
var url=new Array();
img[0]="https://imgur.com/sfAyT6s.gif";url[0]="http://oakland.athletics.mlb.com/";
img[1]="https://imgur.com/av5hb4a.gif";url[1]="http://washington.nationals.mlb.com/";
img[2]="https://i.imgur.com/zGKLMPh.gif";url[2]="http://chicago.cubs.mlb.com/";
img[3]="https://i.imgur.com/ZBXTL5s.gif";url[3]="http://sandiego.padres.mlb.com/";
s+=1;
if(s>=img.length){

s=0;
};
document.getElementById("imgsrc").src=img[s];
document.getElementById("imghref").href=url[s];
setTimeout(setImage,1000);
};
	...
<div>
<a id="imghref" href="http://chicago.cubs.mlb.com/">
<img id="imgsrc" src="images/chc.gif">
</a>
</div>
...

最佳答案

在您的 if 语句中,您编写了 s==0== 运算符是比较运算符。它询问“s 等于 0 吗?”如果您的目的是将 s 设置为零,则改为写入 s=0

关于javascript - 为什么不能在函数中使用局部变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52022976/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com