2018-12-21 Call 和 Apply

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))
    }
}

你可能感兴趣的:(2018-12-21 Call 和 Apply)