美文网首页程序员
this(this的4种指向和改变this指向的方式)

this(this的4种指向和改变this指向的方式)

作者: 3hours | 来源:发表于2017-03-15 11:30 被阅读0次

           this是Javascript语言的一个关键字。

    它代表函数运行时,自动生成的一个内部对象,只能在函数内部使用。比如,

    function test()  {

               this.x = 1;

    }

    随着函数使用场合的不同,this的值会发生变化。但是有一个总的原则,那就是this指的是,调用函数的那个对象。

    阮一峰博客 阮一峰this

    1.this指向的形式4种

    a.如果是一般函数,this指向全局对象window;

    b.在严格模式下"use strict",为undefined.

    c.对象的方法里调用,this指向调用该方法的对象.

    d.构造函数里的this,指向创建出来的实例.

    a,b 定义一个_this变量来存储this值,使全局对象里面的this 指向person 的this this最近的函数是全局对象setTimeout c

    2. 改变this指向的方式

    以下属于函数的方法

    改变this的指向并且执行调用函数

    .call(),  call(thisScope, arg1, arg2, arg3...)

    .apply(), apply(thisScope, [arg1, arg2, arg3...]);两个参数

    而bind 改变this的指向,返回的是函数

    .bind()  bind(thisScope, arg1, arg2, arg3...)

    call,可以传入多个参数,改变this指向后立刻调用函数 apply,可以传入数组 bind改变this指向后,返回的是函数

    相关文章

      网友评论

        本文标题:this(this的4种指向和改变this指向的方式)

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