JS中call apply bind 的理解

原创 mando 随笔 js 86阅读 2018-06-21 15:39:03 举报

- 什么是call apply bind?
函数原型上的方法,任何函数都具有的方法属性,通常说用来更改函数中this的指向。
Funtion.prototype.call()
Funtion.prototype.apply()
Funtion.prototype.bind()

call和apply在参数上不同,前者支持参数列表传入,后者支持数组传入
func.call(thisArg,arg1,arg2)
func.apply(thisArg,[arg1,arg2])

bind不会立即执行,而是返回了一个函数,想立即执行需要加上执行符()
func.bind(thisArg,arg1,arg2)()

- 为什么要使用call apply bind?
通俗来讲,有一个对象A和对象B,对象B不具备A的方法,但是又想调用A中的方法,就可以使用到call,apply和bind。
你可以借用call apply bind 来实现继承

- 一些使用例子

一个对象想调用数组的slice方法

调用window的方法

评论 ( 0 )
最新评论
暂无评论

赶紧努力消灭 0 回复