JS中每个Function对象都有一个apply()方法和一个call()方法
apply 、call 则是立即调用
func.call(this, arg1, arg2)
func.apply(this, [arg1, arg2])
arguments 是对象,类数组,其实不是数组
bind方法
bind 是返回对应函数,便于稍后调用
Function.prototype.bind = function(ctx) {
var arg = Array.prototype.slice.apply(arguments, 1)
var self = this
return function(){
var arg1 = Array.prototype.slice.apply(arguments)
return self.apply(ctx, arg.concat(arg1))
}
}
网友评论