为什么说一般情况下,我们对于this,更喜欢先用一个变量定义,如 var that = this.
原因如下:
<body>
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
</ul>
<button>点击</button>
</body>
<script>
window.onload = function(){
var btn = document.getElementsByTagName("button")[0];
btn.onclick = function(){
var li = document.getElementsByTagName('li');
for(var i=0;i<li.length;i++){
if(li[i].innerHTML==2){
btn.innerHTML="测试";
}
}
}
}
</script>
举个简单的例子,如上述代码所示如果我这个代码量再多一点的话,我可以直接在btn.onclick下一行写上var that = this,这样在判断语句里面的代码就可以直接写成that.innerHTML="测试".
用var that = this主要是为了代码量很多的时候能够在子元素里面方便的调用上级元素。