JavaScript常用方法

function.bind(thisArg, arg1, arg2, ...)  bind方法创建一个新的函数,并且函数中的this指向为传入的thisArg参数,其余参数会预先添加到原函数的参数列表中。新函数相当于是原函数的包装,在调用时原函数同样会被调用。

示例1:指定调用函数中的this指向

this.x = 9;    // 在浏览器中,this指向全局的 "window" 对象
var module = {
  x: 81,
  getX: function() { return this.x; }
};

module.getX(); // 81

var retrieveX = module.getX;
retrieveX();   
// 返回9 - 因为函数是在全局作用域中调用的

// 创建一个新函数,把 'this' 绑定到 module 对象
// 新手可能会将全局变量 x 与 module 的属性 x 混淆
var boundGetX = retrieveX.bind(module);
boundGetX(); // 81

示例2:预先插入函数的参数

function addArguments(arg1, arg2){
    return arg1 + arg2;
}

var bindFunc = addArguments.bind(null, 100);
var result = bindFunc(200, 300);// 300会被忽略
// 300
原文地址:https://www.cnblogs.com/ssw-men/p/10778680.html