通过 apply(),call() 方法,能够编写用于不同对象的方法 . 这两个方法是一样的,差别在于接受参数形式不同,apply接受数组 ,call接受字符串参数
bind 目的是创建一个新函数 ,这个新函数的this指向 传进的参数。 最简单的用法是创建一个函数,不论怎么调用,这个函数都有同样的 this 值
const module = {
x: 42,
getX() {
return this.x;
}
};
const unboundGetX = module.getX;
console.log(unboundGetX()); // The function gets invoked at the global scope
// expected output: undefined
const boundGetX = unboundGetX.bind(module); //bind方法创建一个新的函数 ,this指定为传入的module参数
console.log(boundGetX());
// expected output: 42
来源:oschina
链接:https://my.oschina.net/u/560237/blog/4295093