关于this的问题,不知道为啥出不来效果

再图上的这个this不应该指向的就是外层循环的tabLiArr【i】么,为啥我把this换成tabLiArr【i】就出不来效果呢,是不是有别的因素干扰还是什么

img

因为函数内部的var作用域被提升了,将this换成tabLiArr【i】实际上 i 一直会是tabLiArr.length的值,而不是外部的i, 假如内部循环使用let就没有这个问题了,可以打印出要替换的this的tabLiArr【i】的i验证下

你可以试试

let _this = this
然后用_this去调用