js的call()、apply()、bind()

Function.prototype.call()

call的第一个参数为一个对象,如果为primitive类型,则会自动转为该类型对应的包装类型。若为null、空、undefined则传入全局对象。

call将该方法内部的this关键字指向第一个参数指定的对象并执行,也就是改变函数执行的作用域,call还可接第二个及多个参数,代表传入当前函数的参数。

Function.prototype.apply()

和call一样,只不过传入参数时是以数组的方式传入。

Function.prototype.bind()

每次调用返回一个的函数且不执行,使新函数内部的this指向第一个参数指定的对象,规则同call(应该,书上没写,我也没试)

发布了48 篇原创文章 · 获赞 3 · 访问量 5162

猜你喜欢

转载自blog.csdn.net/ydeway/article/details/98176433