JS中关于闭包和this的指向

闭包个人理解   函数内部还有一个函数,其作用就是可以访问上一层函数中的变量

 下面的案例中函数内部有函数,this的指向就变为window了

 

结果闭包中this指向的两种方法

1.call对象冒充可以改变this的指向  

obj.say().call(obj)  这里把this的指向换成了obj

闭包中的this指向的是window对象,this.name=window.name

 

2.在方法内部改变this指向  既然对象中的say方法中this是指向obj的,那么我们就使用that代替this,在闭包函数中写成that.name   那么结果就是obj

原文地址:https://www.cnblogs.com/pangbo1213/p/7774589.html