💡
原文英文,约200词,阅读约需1分钟。
📝
内容提要
Function.prototype.call 方法允许在指定的 this 上下文中调用函数,并逐个传递参数。如果上下文为 null 或 undefined,则默认为 globalThis。使用 Symbol 创建唯一键以避免覆盖上下文对象的属性。函数作为上下文的属性被调用后会被清理,并返回结果。
🎯
关键要点
- Function.prototype.call 方法允许在指定的 this 上下文中调用函数,并逐个传递参数。
- 如果上下文为 null 或 undefined,则默认为 globalThis。
- 使用 Symbol 创建唯一键以避免覆盖上下文对象的属性。
- 函数作为上下文的属性被调用后会被清理。
- 调用函数后返回结果。
❓
延伸问答
JavaScript 中 call 方法的作用是什么?
call 方法允许在指定的 this 上下文中调用函数,并逐个传递参数。
如果 call 方法的上下文为 null 或 undefined,会发生什么?
如果上下文为 null 或 undefined,则默认为 globalThis。
如何避免在使用 call 方法时覆盖上下文对象的属性?
可以使用 Symbol 创建唯一键,以避免覆盖上下文对象的属性。
调用函数后,如何处理上下文对象中的临时属性?
调用函数后,使用 delete 删除上下文对象中的临时属性,以防止副作用。
使用 call 方法时,如何传递参数?
可以逐个传递参数,使用扩展运算符 (...) 来传递参数。
call 方法的返回值是什么?
调用函数后返回结果,即函数执行的返回值。
➡️