for循环定义i之后,在执行语句中获得的i值问题
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<ul>
<li>HTML</li>
<li>CSS</li>
<li>JavaScript</li>
<li>jquery</li>
<li>HTML5</li>
<li>CSS3</li>
<li>ES6</li>
</ul>
<script type="text/javascript">
var li=document.getElementsByTagName('li');
for (let i=0;i<li.length;i++){
let text=li[i].innerHTML;
li[i].onmouseover=function(){
li[i].style.fontSize="24px";
li[i].style.color="red";
li[i].innerHTML=text+"我是第"+(i+1)+"个";
}
li[i].onmouseout=function(){
li[i].style.fontSize="16px";
li[i].style.color="#000";
li[i].innerHTML=text;
}
}
</script>
</body>
</html>
虽然已经知道具体该怎么用,但是函数体具体获取i值得流程是什么?为什么用var的时候会一直输出最大值加1,用let就一次循环获取当前i值?目前只是强行记忆,没办法理解具体逻辑麻烦老师详细一些解答
正在回答 回答被采纳积分+1
- 参与学习 人
- 提交作业 239 份
- 解答问题 10739 个
本阶段带你深入前端开发的肌理,通过ES6基础知识和前端主流高级框架的学习,助你快速构建企业级移动webAPP应用,进入职场的终极battle
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星