ES6:ES6的call方法和apply方法(五颗星)

1.定义:

将方法借给某个对象的方法。call和apply作用相同,写法不同。

apply() 方法调用一个具有给定 this 值的函数,以及以一个数组(或一个类数组对象)的形式提供的参数

2.语法

使用call方法的语法:(方法.call(对象))

被借用对象.方法.call(借用对象)

使用apply方法的语法:(方法.apply(对象))

被借用对象.方法.apply(借用对象)

3.基本使用(相同点):

  •  1.将方法借给对象使用
  • 2.借用之后自动调用
  • 3.会将方法中的this指向借给的对象

特点:可以设置方法中this的指向——方法中的this指向借给的对象

4.call和apply的区别(传参方式不同,传参给被借用对象.方法):

  • call传参,跟在借用对象后面,用逗号隔开。

被借用对象.方法.call(借用对象,参数1,参数2……)

  • apply传参,不能直接写在后面,要将参数封装在数组中跟在借用对象后面,用逗号隔开

被借用对象.方法.apply(借用对象,[ 参数1,参数2…… ])

5.apply另一个作用:(传参作用)

 <script>
        var arr = [1, 2, 4, 6, 8, 3];
        // max 借给谁不重要, 只要传参方式
        console.log(Math.max.apply(null,arr));//8
    </script>

6.代码演示

<script>
        v

剩余60%内容,订阅专栏后可继续查看/也可单篇购买

前端面试题 文章被收录于专栏

前端面试的一些常问问题、问题的具体实现(可直接运行)以及底层原理

全部评论
感谢大佬分享
点赞 回复 分享
发布于 2023-03-28 14:21 湖南

相关推荐

有没有经济学家能告诉我,三年后中国的就业市场会不会好转?我在校招中拿到了一份9k+的offer,还是行业的龙头企业,心里其实不想再考研了。但又总是担心,万一读研后薪资更高,我会不会后悔呢?
Fyhyuky:三年后肯定不会啊,只会比现在更烂,你自己看看现在有没有什么增长点,电车都是国家补贴兜底才发展出来的,已经比较违背市场自然规律了,互联网更不用说了,国家强力打压,传统制造业转型失败,现在苟延残喘中
点赞 评论 收藏
分享
喜欢走神的孤勇者练习时长两年半:爱华,信华,等华,黑华
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务