您好,欢迎来到伴沃教育。
搜索
您的当前位置:首页函数的bind方法

函数的bind方法

来源:伴沃教育

bind的作用:
将函数绑定至某个对象,在函数fn()上调用bind(o),会在o上绑定一个新的fn()方法,且该方法中的this指向是o;

var name ='windowName';
var object1 = {
  name: '李雷'
  ,sex: '男'
  ,getName: function(){
    return this.name;
  }
}
var object2 = {
  name: '韩梅梅'
  ,sex: '女'
  ,getSex: function(){
    return this.sex;
  }
}

参数说明:
首个参数:定被绑定后的函数中this的指向。

// 虽然object2并没有getName方法,但是通过bind将getName绑定至object2后,object2就拥有了getName方法;
object2.getName = object1.getName.bind();
object2.getName(); //==> windowName  当第一个参数未设置时,函数中的指向将指向window
object2.getName = object1.getName.bind(object1);
object2.getName(); //==> 李雷
object2.getName = object1.getName.bind(object2);
object2.getName();  // ==> "韩梅梅"

其它参数: 指定形参值。

function getAge(name, year){
  var age = new Date().getFullYear() - year;
  return name +'今年' + age + '岁了';
}
var object = {
  name: 'two'
}
object.getAge = getAge.bind(object,'baukh'); // 通过第二个参数指定函数getAge的数据name=baukh
object.getAge(1987); // ==> "baukh今年29岁了"

大吃一惊,已经29了!!!!!!
上面的代码有毒。

Copyright © 2019- bangwoyixia.com 版权所有 湘ICP备2023022004号-2

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务