关于 元素.innerHTML和this.innerHTML的问题

在写一个列表点击判断的时候发现用var获取到的元素.innerHTML会报错,但是换成this.innerHTML就不会了这是为什么?

img

具体解释可查看链接:https://www.cnblogs.com/qlb-7/p/14500958.html


var lis=document.getElementsByClassName("lis");
              for (let i = 0; i < lis.length; i++) {
                lis[i].onclick=function(){
                    console.log("点击了",lis[i].innerHTML)
                }
            }

回调函数在for循环执行完毕后才会执行,把var换成let试试