Function.apply.bind()

2019-06-27  本文已影响0人  they远去人海

在学习你不知道的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])
上一篇下一篇

猜你喜欢

热点阅读