this
关键字是 JavaScript 中一个非常特殊且强大的特性,它的值在代码执行过程中会动态绑定,这常常让初学者感到困惑。理解 this
的工作原理对于掌握 JavaScript 至关重要。它的指向性是一个常见的困惑点。this
的值在代码执行时是动态绑定的,它的指向取决于函数是如何被调用的。特别是对于初学者来说,会比较难以理解。就算是老手,在编程过程中,也容易出现this指向性错误。
一、this指向性问题
1、全局上下文
let self = this; //JS宏编辑器中全局上下文中的this(如果是浏览器对应的是window)
function printThis(){
for(let i in self){
console.log(i); //打印输出全局对象中的方法和属性,找一找会发现之前讲过的Open, Dir还有程序入口:printThis等方法
}
}
注意,上述示例代码是JS宏中的写法,浏览器中直接输出就行。示例图如下所示: