Javascript 在本地分配变量时不执行代码
当变量Javascript 在本地分配变量时不执行代码,javascript,html,Javascript,Html,当变量index在函数中赋值时,此处给出的JavaScript代码不起作用。 当在本地分配时,它只返回对话数组中的第一个索引 但是当变量index被全局分配时,代码将遍历数组中的元素 你能解释一下这背后的原因吗? 是否需要在函数外部指定变量 let board=document.getElementById(“board”); 让对话=[ "1", "2", "3", "4", "5", "6" ]; board.addEventListener(“单击”,()=>{ 设指数=0; 如果(索引
index
在函数中赋值时,此处给出的JavaScript代码不起作用。
当在本地分配时,它只返回对话
数组中的第一个索引
但是当变量index
被全局分配时,代码将遍历数组中的元素
你能解释一下这背后的原因吗?
是否需要在函数外部指定变量
let board=document.getElementById(“board”);
让对话=[
"1",
"2",
"3",
"4",
"5",
"6"
];
board.addEventListener(“单击”,()=>{
设指数=0;
如果(索引<对话长度){
警报(对话[索引]);
索引++;
}
否则{
指数=0;
}
})
正文{
高度:100vh;
保证金:0;
显示器:flex;
弯曲方向:立柱;
对齐项目:居中;
证明内容:中心;
间隙:50px;
背景色:#2b0000;
字体系列:roboto;
}
.董事会{
显示:网格;
证明内容:中心;
对齐内容:居中对齐;
网格模板列:重复(3,自动);
栅隙:20px;
}
.细胞{
宽度:100px;
高度:100px;
边界半径:100%;
背景色:透明;
边框:10px纯白;
投影:6px 8px 5px#fff;
过渡时间:1000ms;
}
如果在onclick函数中声明索引变量,则每次单击时都会声明一个新的索引变量,一旦函数结束,该变量将被遗忘。JavaScript变量只在您声明的范围内工作,因此如果您在函数中声明索引,一旦函数结束,它将被删除 否则,如果全局声明它,将始终存在相同的变量,并且它将在每次调用on click函数之间保存值
希望我能帮上忙 原因是这一行:
let index=0代码>因为每次单击时,索引
都用0
初始化。。然后,对话的长度总是大于0
。。。然后alert(对话[0])代码>。。。永远。。。