apply和 call 什么含义,什么区别?什么时候用
call和apply都用于函数调用,和使用函数名直接调用不同,call和apply可以指定一个额外的参数作为函数体内的this对象。
call方法:
调用一个对象的一个方法,以另一个对象替换当前对象
call方法可以用来代替另一个对象调用一个方法(本身无该方法,才选择调用)。call方法可以将一个函数的上下文从初始的对象转成obj指向的新对象。如果没有提供obj对象,那么Global对象被指做obj。
apply方法:
应用某一对象的一个方法,用另一个对象替换当前对象。
如果第二个参数不是一个有效的数组或者不是arguments对象,将会报错TypeError,如果没提供obj对象,那么Global对象被指做obj。
call采用不定长的参数列表,而apply使用一个参数数组。
由于call和apply可以改变函数体内的this指向,因此通常被用来将一个对象原型上的方法应用到另一个对象上。一个常见的应用是处理函数的arguments,将其转换为Array类型:
想要了解跟多关于前端培训课程内容欢迎关注尚硅谷前端培训,尚硅谷除了这些技术文章外还有免费的高质量前端培训课程视频供广大学员下载学习
上一篇: 大数据培训之 Kylin的工作原理
下一篇: Java培训课程JavaWeb之jquery选择器