试题
考点

js语言和框架-node.js-关键字

面5笔5

call、apply、bind区别?

前往“校招VIP”小程序,刷题更快
最新校招难题刷题,快来进刷题群吧
解答

 共同作用:为了改变this的指向

function.call(thisArg,arg1,arg2, ...)

function.apply(thisArg, [argsArray])

function.bind(thisArg[,arg1[,arg2[, ...]]])

call 、bind 、 apply 这三个函数的第一个参数都是 this 的指向对象,主要差别是第二个参数:

call 的参数是直接放进去的,第二第三第 n 个参数全都用逗号分隔,直接放到后面 
obj.myFun.call(curObj,'麻辣烫', ... ,'煎饼果子' )
apply 的所有参数都必须放在一个数组里面传进去 
obj.myFun.apply(curObj,['麻辣烫', ..., '煎饼果子' ])
bind 的参数与call一致都是直接放进去的,不同其他两个是,返回值是一个新的函数,所以需要去调用一次才会去执行
obj.myFun.bind(curObj,['麻辣烫', ..., '煎饼果子' ])()

三者的参数类型不限定

评论

我吃小朋友

2023-02-05 23:00:00

0 0

一只北极的企鹅

2021-09-12 17:55:00

0 0

Month 7'

2020-10-27 11:33:57

0 0

天宫

2020-10-24 15:22:19

0 0

加载更多