JS 中的 bind, call, apply 总结
date
Sep 19, 2023
Person
slug
js-bind-call-apply
status
Published
tags
JS
summary
type
Post
在JavaScript中,
call
、bind
和 apply
是用于改变函数上下文(函数的执行环境)的方法。它们的作用有所不同,下面分别给出它们的实例用法:1.
call
方法:call
方法用于调用一个函数,并且可以指定函数内部的 this
值,并且可以传递参数作为函数的参数。下面是一个示例:在上面的示例中,通过
call
方法,我们将 greet
函数的上下文从全局对象改变为 person1
和 person2
对象,并且传递了一个额外的参数作为 greeting
。2.
bind
方法:bind
方法用于创建一个新的函数,该函数与原函数具有相同的函数体,但可以预先指定函数内部的 this
值,并返回这个新函数。下面是一个示例:在这个示例中,我们使用
bind
方法创建了一个新函数 greetPerson
,它的 this
值已经绑定到了 person
对象上。3.
apply
方法:apply
方法与 call
类似,但它接受一个参数数组作为函数的参数。下面是一个示例:在这个示例中,我们使用
apply
方法将 args
数组的元素作为参数传递给 greet
函数。与 call
不同,apply
接受参数数组,可以动态传递参数。