This的用法

    This作为JavaScript中的关键字,在函数中具有四种用法。

一、直接在函数中使用,谁调用这个函数,this就指向谁

例如:

 

1 var n = "指我";
2  function fun(){
3      console.log(this.n);
4  }
5      fun();      //指我

 

这里this就代表着全局对象。

 

二、在对象中使用,一般情况下是指向该对象

例如:

1 function fun(){
2     console.log(this.n);
3 }
4 var obj = {};
5 obj.n = "在这里";
6 obj.m = fun;
7 obj.m();    //在这里

这里的this就指向这个上级对象。

 

三、在构造函数中使用

例如:

1 function fun(){
2                 this.n = "LOVE";
3             }
4 var obj = new fun();
5 console.log(obj.n);    // LOVE

这里的this就指向这个构造函数生成的一个新的对象。

 

四、改变This的指向,有两种方法:

    1、call(指向谁,参数1、参数2、…)

    2、apply(指向谁,[参数1、参数2、…])

这两种方法的作用相同,传递的写法不同

例如:

 1 function Person(name,age,sex){
 2                 this.name = name;
 3                 this.age = age;
 4                 this.sex = sex;
 5             }
 6             function Worker(name,age,sex,id,tel){
 7 //                Person.call(this,name,age,sex);
 8                 Person.apply(this,[name,age,sex]);
 9                 this.id = id;
10                 this.tel = tel;
11             }
12             var worker = new Worker("张三",18,"男","001","123456789");
13             console.log(worker);

 这两种方法的作用都相同

 

版权声明:本文为zhen-prz原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/zhen-prz/p/10144970.html