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

 

posted @ 2017-11-02 21:25  undefined-  阅读(10446)  评论(5编辑  收藏  举报