💡
原文英文,约1100词,阅读约需4分钟。
📝
内容提要
本文讨论了JavaScript中“this”关键字在不同上下文中的表现,特别是箭头函数如何继承外部作用域的“this”。还介绍了柯里化技术,通过将多个参数的函数拆分为逐个接受参数的函数来提高代码复用性,并提供了示例。最后,解释了词法环境的概念及其在代码执行中的作用。
🎯
关键要点
- this关键字在不同上下文中的表现
- 全局作用域中的this:非严格模式下为window,严格模式下为undefined
- 常规函数作用域中的this:非严格模式下为window,严格模式下为undefined
- 对象方法中的this指向对象
- 事件处理程序中的this指向元素
- 构造函数中的this指向新创建的对象
- 箭头函数没有自己的this,继承自外部作用域
- 箭头函数不能用于需要动态this值的场合
- 柯里化技术将多个参数的函数拆分为逐个接受参数的函数
- 柯里化提高了代码的复用性
- 词法环境是代码编写和执行的环境
- 词法环境包含环境记录和对外部词法环境的引用
❓
延伸问答
JavaScript中的this关键字在全局作用域中指向什么?
在非严格模式下,this指向window;在严格模式下,this为undefined。
箭头函数如何处理this关键字?
箭头函数没有自己的this,它会继承外部作用域的this。
什么是柯里化技术,它有什么好处?
柯里化是一种将多个参数的函数拆分为逐个接受参数的函数的技术,能够提高代码的复用性。
在事件处理程序中,this指向什么?
在事件处理程序中,this指向触发事件的元素。
如何使用柯里化提高代码复用性?
通过将函数拆分为多个接受单个参数的函数,可以在不同上下文中复用这些函数。
词法环境在JavaScript中有什么作用?
词法环境是代码编写和执行的环境,包含环境记录和对外部词法环境的引用。
➡️