this指向对向

列子1

1 function a(){
2     var user =" 你好";
3     console.log(this.user); //undefined
4     console.log(this); //Window
5 }
6 a();

this最终指向的是调用它的对象,这里的函数a实际是被Window对象所点出来的

列子2

1 var o = {
2     user:"你好",
3     fn:function(){
4         console.log(this.user);  //你好
5     }
6 }
7 o.fn();

这里的this指向的是对象o,因为你调用这个fn是通过o.fn()执行的,那自然指向就是对象o,这里再次强调一点,this的指向在函数创建的时候是决定不了的,在调用的时候才能决定,谁调用的就指向谁,一定要搞清楚这个。

构造函数版this:

 

1 function Fn(){
2     this.user = "你好";
3 }
4 var a = new Fn();
5 console.log(a.user); //你好

 

调用这个函数Fn的是对象a,那么this指向的自然是对象a

 

posted @ 2019-06-17 17:07  啊啊啊于远文  阅读(127)  评论(0编辑  收藏  举报