apply,call ,bind

独自空忆成欢 提交于 2020-08-16 10:24:42

通过 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

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!