call、apply、bind 的用法分别是什么?
它们最主要的作用是 改变this的指向
call()
call() 写法 : function.call(thisArg, arg1, arg2, ...)
call()调用一个函数,第一个参数是指定的this值,其他参数分别是提供的参数,用逗号隔开。
call()用法
1 |
|
apply()
apply()写法: func.apply(thisArg, [argsArray])
apply 只接收俩个参数, 第一个参数和call一样。 第二个参数,必须是数组或者类数组。
apply() 和call() 使用上是一致的,唯一区别在于 call() 方法接受若干个参数,而apply()方法接受一个包含多个参数的数组
bind()
bind() 不同于 call() 和 apply() , 它返回一个新的函数,该函数将this设置未我们赋给它的值。
1 |
|