javascript之this指向的坑

js中在用this的时候,会发现有很多莫名其妙的问题。

废话不多说,直接上代码(html代码就不贴了):

  1. $(document).ready(function(){
  2. var arr=[{name: '张三',age:18},{name: '李四',age: 20}];
  3. var len=arr.length;
  4. var arr=this.arr;
  5. $("#Function").on("click",function(){
  6. for(var i=0;i<len;i++){
  7. console.log(arr[i].name)   
  8. }  
  9. })

})

以上代码执行起来为何会报错呢? 具体报错见下图:

这个问题是我一个朋友提的,代码不多,可是问题很诡异,一点一点排查,最后才发现其实就是this的指向问题导致这个错,前面this指向的是数组arr,可是到click事件里面,this指向了button。

猜你喜欢

转载自blog.csdn.net/qq_36072384/article/details/81001611