JS中如何详细解析this的四种绑定机制?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1450个文字,预计阅读时间需要6分钟。
在JavaScript中,`this`代表当前执行上下文中的对象。理解`this`之前,首先要明确一个观点:`this`并不指向函数本身,也不指向函数的词法作用域。如果仅通过`this`的中文解释,很容易产生误导。
实际上,`this`是在函数被调用时才确定的。具体来说,它取决于函数是如何被调用的。以下是一些常见的情况:
1. 在普通函数调用中,`this`通常指向全局对象(在浏览器中是`window`,在Node.js中是`global`)。
2.在对象方法中,`this`指向调用该方法的对象。
3.在构造函数中,`this`指向新创建的对象。
因此,要正确理解和使用`this`,需要根据具体上下文来分析。
JS中this是什么
理解this之前, 先纠正一个观点,this 既不指向函数自身,也不指函数的词法作用域。
如果仅通过this的英文解释,太容易产生误导了。
它实际是在函数被调用时才发生的绑定,也就是说this具体指向什么,取决于你是怎么调用的函数。也就是说谁调用的this,this就指向谁
JS中this说明
ES6中的箭头函数采用的是词法作用域。
为什么要使用this:使API设计得更简洁且易于复用。
this即不指向自身,也不指向函数的词法作用域。
this的指向只取决于函数的调用方式
this绑定规则
new > 显示绑定 > 隐式绑定 > 默认绑定
默认绑定
当独立函数调用时,不管是否在调用栈中,this都指向全局对象(浏览器中为window)
严格模式下,不能将全局对象用于默认绑定。
本文共计1450个文字,预计阅读时间需要6分钟。
在JavaScript中,`this`代表当前执行上下文中的对象。理解`this`之前,首先要明确一个观点:`this`并不指向函数本身,也不指向函数的词法作用域。如果仅通过`this`的中文解释,很容易产生误导。
实际上,`this`是在函数被调用时才确定的。具体来说,它取决于函数是如何被调用的。以下是一些常见的情况:
1. 在普通函数调用中,`this`通常指向全局对象(在浏览器中是`window`,在Node.js中是`global`)。
2.在对象方法中,`this`指向调用该方法的对象。
3.在构造函数中,`this`指向新创建的对象。
因此,要正确理解和使用`this`,需要根据具体上下文来分析。
JS中this是什么
理解this之前, 先纠正一个观点,this 既不指向函数自身,也不指函数的词法作用域。
如果仅通过this的英文解释,太容易产生误导了。
它实际是在函数被调用时才发生的绑定,也就是说this具体指向什么,取决于你是怎么调用的函数。也就是说谁调用的this,this就指向谁
JS中this说明
ES6中的箭头函数采用的是词法作用域。
为什么要使用this:使API设计得更简洁且易于复用。
this即不指向自身,也不指向函数的词法作用域。
this的指向只取决于函数的调用方式
this绑定规则
new > 显示绑定 > 隐式绑定 > 默认绑定
默认绑定
当独立函数调用时,不管是否在调用栈中,this都指向全局对象(浏览器中为window)
严格模式下,不能将全局对象用于默认绑定。

