JavaScript中的call()、apply()和bind()方法

JavaScript中的call()、apply()和bind()方法

💡 原文英文,约300词,阅读约需2分钟。
📝

内容提要

call()、apply()和bind()是JavaScript的内置方法。call()和apply()立即调用函数,前者用逗号分隔参数,后者用数组传递参数。bind()返回一个新函数,延迟执行。三者都可以设置“this”上下文,支持函数重用。

🎯

关键要点

  • call()、apply()和bind()是JavaScript的内置方法。

  • call()方法立即调用函数,使用逗号分隔参数。

  • apply()方法立即调用函数,参数以数组形式传递。

  • bind()方法返回一个新函数,延迟执行。

  • 三者都可以设置“this”上下文,支持函数重用。

  • call()和apply()直接调用函数,bind()返回新函数不立即调用。

  • call()接受逗号分隔的参数,apply()接受数组形式的参数,bind()也使用逗号分隔的参数但为后续调用预设。

  • call()和apply()返回函数调用的结果,bind()返回带有指定this上下文的新函数。

延伸问答

JavaScript中的call()方法有什么特点?

call()方法立即调用函数,使用逗号分隔参数,并可以设置“this”上下文。

apply()方法与call()方法有什么不同?

apply()方法也立即调用函数,但参数以数组形式传递,而call()使用逗号分隔的参数。

bind()方法的主要作用是什么?

bind()方法返回一个新函数,允许延迟执行,并设置“this”上下文。

如何使用call()和apply()方法?

使用call()时,传入函数和逗号分隔的参数;使用apply()时,传入函数和参数数组。

call()和apply()方法的返回值是什么?

call()和apply()方法返回函数调用的结果。

bind()方法的返回值是什么?

bind()方法返回一个带有指定this上下文的新函数,而不是函数调用的结果。

🏷️

标签

➡️

继续阅读