前端培训apply和 call 的区别,什么时候用

发布时间:2020年02月21日作者:atguigu浏览次数:1,023

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类型:
想要了解跟多关于前端培训课程内容欢迎关注尚硅谷前端培训,尚硅谷除了这些技术文章外还有免费的高质量前端培训课程视频供广大学员下载学习

上一篇:
下一篇:
相关课程

java培训 大数据培训 前端培训

关于尚硅谷
教育理念
名师团队
学员心声
资源下载
视频下载
资料下载
工具下载
加入我们
招聘岗位
岗位介绍
招贤纳师
联系我们
全国统一咨询电话:010-56253825
地址:北京市昌平区宏福科技园2号楼3层(北京校区)

深圳市宝安区西部硅谷大厦B座C区一层(深圳校区)

上海市松江区谷阳北路166号大江商厦3层(上海校区)

武汉市东湖高新开发区东湖网谷(武汉校区)

西安市雁塔区和发智能大厦B座3层(西安校区)

成都市成华区北辰星拱青创园综合楼3层(成都校区)