this 关键字
-
每一个函数内部都有一个关键字是
this -
可以让我们直接使用的
-
重点: 函数内部的 this 只和函数的调用方式有关系,和函数的定义方式没有关系
-
函数内部的 this 指向谁,取决于函数的调用方式
-
全局定义的函数直接调用,
this => windowfunction fn() { console.log(this) } fn() // 此时 this 指向 window -
对象内部的方法调用,
this => 调用者var obj = { fn: function () { console.log(this) } } obj.fn() // 此时 this 指向 obj -
定时器的处理函数,
this => windowsetTimeout(function () { console.log(this) }, 0) // 此时定时器处理函数里面的 this 指向 window -
事件处理函数,
this => 事件源div.onclick = function () { console.log(this) } // 当你点击 div 的时候,this 指向 div -
自调用函数,
this => window(function () { console.log(this) })() // 此时 this 指向 window
-