美文网首页
JS中this的用法

JS中this的用法

作者: kahn17 | 来源:发表于2017-02-08 10:49 被阅读0次


    js中thisd的用法

    * this是js中的关键字,它代表函数运行时,自动生成的一个内部对象,只能在函数内部使用,一般情况下,this指代的是调用函数的当前对象.细分来说,有以下的用法

    * 1:纯粹的函数调用

    *这是最通常的用法,属于全局性调用,因此this就代表全局对象Global

    *var x = 1;

    function test1() {

    this.x = 0

    console.log(x);

    }

    test1()//x=0,证明正常的函数调用属于全局性调用

    *

    *2.作为对象方法调用

    *函数作为某个对象的方法调用,则this指这个上级对象

    *var x = 1

    function test2() {

    console.log(this.x)

    }

    var obj = {}

    obj.x = 2

    obj.m = test2

    obj.m()//x = 2,所以这里this指的是当前调用函数的对象

    3.作为构造函数调用

    所谓构造函数,就是通过函数构造一个新的对象(Object),这时this指这个新的对象

    var x = 23

    function test3() {

    this.x = 1

    }

    var obj = new test3()

    console.log(obj.x)//x =1

    4.apply调用

    apply是Function原型的一个方法,用于改变函数的调用对象,它的第一个参数就是调用的对象名,因此this指第一个参数

    var x = 23

    function test4() {

    console.log(this.x)

    }

    var obj = {}

    obj.m = test4

    obj.x = 1

    obj.m()//x = 1

    obj.m.apply()//x = 23

    obj.m.apply(obj)//x = 1

    相关文章

      网友评论

          本文标题:JS中this的用法

          本文链接:https://www.haomeiwen.com/subject/rjpmittx.html