js 任务队列?

<ul>

 <li>click me</li>

 <li>click me</li>

 <li>click me</li>

 <li>click me</li>

</ul>

运行如下代码:


var elements=document.getElementsByTagName('li');

var length=elements.length;

for(var i=0;i<length;i++){

   elements[i].onclick=function(){

       alert(i);

    }

}

对于答案4,4,4,4,原题目下各种解释,看着有点乱。

因为看到了这张图onclick在任务队列中,我应该没理解错吧。

https://img4.mukewang.com/5c4d572f0001807506010527.jpg

而我的想法是:这是不是跟js运行机制的任务队列有关,onclick事件添加到任务队列中,等到执行栈中的任务结束之后再执行任务队列中的任务,这样for循环已经结束,故输出了4个4.不知道这样理解对不对?
附上题目链接:https://www.nowcoder.com/ques...

呼唤远方
浏览 599回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript