call apply bind 的区别 和 联系

 一 call()

1,call()可以调用函数,

2,改变this指向

3,主要用于继承

 书写格式 Num.apply(thisArg,参数1,参数二)

call apply bind 的区别 和 联系

二 apply()

1, 可以调用函数

2,改变this指向

3,传入的是一个数组

书写格式 a.apply(thisArg,[argsArray])

thisArg:在fun函数运行时指定的this 值

argsArray:传递的值,必须包含在数组里面

返回值就是函数的返回值,就是调用函数

call apply bind 的区别 和 联系

 三 bind()

1,不会调用函数,但会改变this指向

2,返回的是原函数改变this,后的新函数

 3,如果有的函数我们想调用,但又想改变this 指向 此时用bind比较合适

call apply bind 的区别 和 联系

 对于第3个特性,举个例子,再次了解怎样出实现的

call apply bind 的区别 和 联系

 

联系  

a:call()apply()bind()都能改变this指向

b:call()apply()都也可以调用函数

c:   call()主要用于继承,apply()主要用于数组  

bind()主要用于不调用函数,但又能改变this指向

上一篇:centos redis配置


下一篇:你所不知道的v-bind用法