<table class="javascript">
<tr class="li1"><td class="ln"><pre class="de1">1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65 函数绑定到另外一个对象上去运行,两者仅在定义参数方式有所区别下面我来给大家介绍一下call和apply用法。 在web前端开发过程中,我们经常需要改变指向,通常我们想到的就是用call方法,但是对于call的理解很多人不是很清晰,那么下面小编就给大家详细说一说call和apply的详细知识 一、call方法的定义 大家在百度里面可以搜索call,关于call的定义都很拗口。在我的理解,a.barg1arg2..就是a对象的方法应用到b对象上。例如如下例子: 代码如下 addab alertab reduceab alertab add.reduce 方法运用到reduce,结果为4 二、call可以改变指向 如下例: 代码如下 b alert b b. b.“a” 再看一个复杂的例子: 代码如下 Animal .”animal” . alert. Cat .”cat” animal Animal cat Cat animal. animal..cat 方法,但是通过call方法将animal的showName方法应用到cat上,因此结果为cat 三、实现继承 如下例子: 代码如下 Animalname .name . alert. Catname Animal.name 属性和方法 cat Cat“Black Cat” cat. 四、apply用法 apply和call的用法只有一个地方不一样,除此之外,其他地方基本一模一样 a.barg2… applybarg1arg2