this-2

读起来使你有新认识或可以使你离更确切的定义更近时的文章不应该被忽略。
this
this既不指向函数自身,也不指向函数的词法作用域(ES6中箭头函数采用词法作用域)。
this实际上是函数被调用时才发生绑定。
this指向什么取决于如何调用函数,谁调用的this,this就指向谁。

默认绑定
当独立函数被调用时,不管是否在调用栈中,this都指向全局对象(浏览器中为window)。
默认绑定不适用于严格模式。
<script>
    var a = 2;
    function foo() {
        console.log(a); // 也可以this.a,这里this只window,this.a = 2;
    }
    function bar() {
        var a = 5;
        foo();
    }
    bar(); // 2
</script>

 

this-2

上一篇:[原]Unity3D深入浅出 - Shader基础开发


下一篇:js传值