JS之This的用法

2018-12-20 09:34:41来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

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);

 这两种方法的作用都相同

 

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:Canvas:时钟

下一篇:关于es6 import export的学习随笔 (1)