原文英文,约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上下文的新函数,而不是函数调用的结果。
🏷️