JS中的call方法和apply方法

 时间:2024-10-14 08:53:59

1、用法一:改变函数内部的this指向:(1)书本描述引用一 从书上可以看到,可以通过call()和apply()方法间接调用函数。任何函数可以作为任何对象的方法调用。 我们应该知道一个基础概念,调用的上下文。犀牛书对函数的解析中有描述到:除了实参之外,每次调用还会拥有另一个值——本次调用的上下文——这就是this关键字的值。 call和apply方法允许显式指定调用所需的this值。也就是说,用call和apply方法间接调用函数时,就是把函数作为显式指定的对象的方法调用。此时,函数内部的this会指向调用对象。

JS中的call方法和apply方法

2、(2)书本描述引用二 书本中对call和apply详细一步的描述中,红色框部分,更清楚说白了,通过call和apply可以把函数f作为o对象的方法调用,但不保存。在调用函数f时,函数内部this指向了call或者apply指定的对象

JS中的call方法和apply方法

4、call与apply的异同: 两个方法的用法差不多,第一个参数都是this要指向的对象。 区别在于剩余的参数传入形式不同。call的后续参数可以是任何类型,apply最多只能有两个参数,第二个参数是数组。还是直接看例子:

JS中的call方法和apply方法

6、还有caller,callee,argument ....

  • 如何对企业所处的行业进行分析
  • O2O与B2C、C2C三者之间的关系
  • 巴杀 、均质、闪蒸的作用?
  • Word2016中如何设置英文字母大写
  • 用布包扣做漂亮好看的手链
  • 热门搜索
    玉田生活 阿黛尔的生活 蜜蜂的生活习性 学生上课睡觉怎么办 得意生活 开间是什么意思 ps的切片工具怎么用 校友会排名是什么意思 如何挑选洗衣机 如何喝酒