黑马程序员技术交流社区

标题: apply call bind解析 [打印本页]

作者: 小小K    时间: 2021-1-27 16:44
标题: apply call bind解析
本帖最后由 小小K 于 2021-1-27 16:46 编辑

相同点:不同点:Function.prototype.call
call() 方法使用一个指定的 this 值和单独给出的一个或多个参数来调用一个函数。
语法
fun.call(thisArg, arg1, arg2, …)
thisArg
在 fun 函数运行时指定的 this 值。
arg1, arg2, …
指定的参数列表。
Function.prototype.apply
apply() 方法使用一个指定的 this 值和一个数组组成的参数列表来调用一个函数。
语法
fun.call(thisArg, [argsArray])
thisArg
在 fun 函数运行时指定的 this 值。
方式同apply
argsArray
一个数组或者类数组对象,其中的数组元素将作为单独的参数传给 func 函数。如果该参数的值为 null 或 undefined,则表示不需要传入任何参数。从ECMAScript 5 开始可以使用类数组对象
Function.prototype.bind
bind()方法创建一个新的函数,在bind()被调用时,这个新函数的this被bind的第一个参数指定,其余的参数将作为新函数的参数供调用时使用。
语法
fun.bind(thisArg, arg1, arg2, …)
thisArg
在 fun 函数运行时指定的 this 值。
方式同apply
arg1, arg2, …
指定的参数列表。
进阶:实现 call, apply, bindcallapplybind
MDN polyfill






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2