Javascript-bind绑定函数

bind()最简单的用法是创建一个函数,使这个函数不论怎么调用都有同样的this值。

语法:fun.bind(this,arg1,arg2,….)

Bind()方法会创建一个新的函数,称为绑定函数,fun方法在this环境下调用。

该方法会传入两个参数,第一个参数作为this,第二个及以后的参数则作为函数的参数调用。

   this.a = 1;

 2 var module = {

 3     a: 2,

 4    getA:function() {

 5     return this.a;   

 6     }

 7 };

 8 module.getA();//2

 9

10var getA1 = module.getA;

11// getA在外部调用,此时的this指向了全局对象

12getA1();//1

13

14// 再把getA1方法绑定到module环境上

15var getA2 = getA1.bind(module);

16getA2();

从上面的例子可以看出,为什么要创建绑定函数,就是当我们调用某些函数的时候是要在特定环境下才能调用到,所以我们就要把函数放在特定环境下,就是使用bind把函数绑定到特定的所需的环境下。

2.让函数拥有预设的参数

使用bind()方法使函数拥有预设的初始参数,这些参数会排在最前面,传给绑定函数的参数会跟在它们后面

 

 1 function list(){

 2     // 让类数组arguments拥有数组的方法slice,这个函数实现了简单把类数组转换成数组

 3     returnArray.prototype.slice.call(arguments);

 4 }

 5

 6 list(1,2,3);//[1,2,3]

 7

 8 //给list绑定一个预设参数4

 9 var list1 = list.bind(undefined,4);

10

11 list1();//[4]

12 list1(1,2,3);//[4,1,2,3]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值