美文网首页前端开发
JavaScript中的this到底是什么

JavaScript中的this到底是什么

作者: vlonsir | 来源:发表于2019-05-27 16:29 被阅读0次

一个经典的例子

function foo() {

    var a = 2;

    this.bar();

}

function bar() {

    console.log( this.a );

}

foo(); // ReferenceError: a is not defined

就以上代码环境而言,bar()作用域内没有变量a,代码中试图访问foo()中的a变量,这是绝对不可能的。

this是在javascript代码运行时进行绑定的,并不是在编写时绑定的,它的上下文取决于函数调用时的各种条件。

this的  绑定  和   函数声明的位置    没有任何关系,只取决于函数的调用方式。

一句话

this实际上是在函数被调用时发生的绑定,它指向什么完全取决于函数在哪里被调用。

相关文章

网友评论

    本文标题:JavaScript中的this到底是什么

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