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中如何设置英文字母大写
  • 用布包扣做漂亮好看的手链
  • 热门搜索
    北京 旅游景点 10月份去哪旅游最好 新疆哈密旅游 春天去哪里旅游好 西双版纳旅游多少钱 大理双廊旅游攻略 深圳到香港旅游 吉林旅游攻略 金华旅游团 集体旅游