JavaScript一个小细节——for循环遍历与响应函数的执行顺序

 window.onload=function(){
      var A=document.getElementsByTagName("a");
      for(var i=0;i

上面这段代码是不正确的。换成this.innerHTML=“hello”才对。

我们用alter输出i的值,这里i恰好等于A.length。这说明单击响应函数是在for循环之后才执行的,因为for循环结束时i++,使得i=A.length。

虽然说给谁绑定单击响应函数,谁就是this,但是在这一块不是这样的,这里存在一个执行顺序的问题,故this不等于A[i]

for循环在页面初始化之后立即就会执行,而响应函数是我们在点击超链接时才会执行。但是当响应函数执行时,for循环早就已经执行完毕了。

你可能感兴趣的:(js,javascript)