写该系列文章的初衷是“让每位前端工程师掌握高频知识点,为工作助力”。用知识武装自己的头脑。
14.1 简介
this是javascript中的一个关键字,其使用方法类似于一个变量,是执行上下文中一个重要组成部分。其作用是可以在函数体内部获取当前的运行环境。
14.2 指向
每个函数的this是在调用的时候基于函数的执行环境绑定的,this的指向完全取决于函数的调用位置。(下面均是在浏览器环境下进行测试的结果)
在全局环境下,this 始终指向全局对象(window), 无论是否严格模式;
console.log(this); // window
复制代码
普通函数内部的this分两种情况,严格模式和非严格模式。
(1)非严格模式下,this 默认指向全局对象window
(2)严格模式下, this为undefined
function fun() {
console.log(this); // window
}
复制代码
对象内部方法的this指向调用这些方法的对象
(1)函数的定义位置不影响其this指向,this指向只和调用函数的对象有关;
(2)多层嵌套的