在学习你不知道的JavaScript(中卷)时,遇到了这样的代码
Function.apply.bind(function(x,y){console.log(x,y);},null)
之后我们把函数function(x,y){console.log(x,y);}记作func
首先
Function.apply.bind(func,null) <=> Function.prototype.apply.bind(func,null) <=>
func.apply.bind(func,null)
接下来
Function.apply.bind(func,null)就是,在调用由bind创建出来的新的函数时,this指向func,并且第一个参数为null。
因此
Function.apply.bind(func,null) <=> func.apply(null)
最后
这样调用这行代码
Function.apply.bind(func,null)([1,2]) <==>
func.apply(null,[1,2])
网友评论