欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

JS之This的用法

程序员文章站 2022-06-21 17:00:53
This的用法 This作为JavaScript中的关键字,在函数中具有四种用法。 一、直接在函数中使用,谁调用这个函数,this就指向谁 例如: 这里this就代表着全局对象。 二、在对象中使用,一般情况下是指向该对象 例如: 这里的this就指向这个上级对象。 三、在构造函数中使用 例如: 这里 ......

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

 这两种方法的作用都相同

JS之This的用法

 

上一篇: 你还是男人么

下一篇: 没有诗意