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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值