<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在任务队列中,我应该没理解错吧。
而我的想法是:这是不是跟js运行机制的任务队列有关,onclick事件添加到任务队列中,等到执行栈中的任务结束之后再执行任务队列中的任务,这样for循环已经结束,故输出了4个4.不知道这样理解对不对?
附上题目链接:https://www.nowcoder.com/ques...
相关分类