zoukankan      html  css  js  c++  java
  • 原生方法系列 3(查缺补漏 不断更新)

    bind    对于给定函数,创建具有与原始函数相同的主体的绑定函数。在绑定函数中,this 对象将解析为传入的对象。绑定函数具有指定的初始参数

    返回值   与 function 函数相同的新函数,thisArg 对象和初始参数除外

    这个函数的功能就是改变原来函数的this对象和初始化参数

      var check = function(value) {
        if(typeof value !== 'number') {
          return false;
        } else {
          return value >= this.min && value <= this.max;
        }
      }
    
      var range = {
        max:20,
        min:10
      };
      var getCheck = check.bind(range);
      var result = getCheck(12);
      console.log(result);//true

    在上面的例子中我们将this对象也就是range传入到生成的函数中,此时函数中的this引用的就是range

      function test(a,b) {
        console.log(a,b);
      }
    
      var obj = {};
      var get = test.bind(obj,"a");
      get("b");

    通过上面的使用方式,就能达到初始化参数的目的,但是绑定阶段的函数是不执行的,不像apply 和call 绑定this和传入参数后就在相应的this下执行了相应的函数,bind是在bind返回的函数执行才执行

  • 相关阅读:
    Python 6 socket编程
    Python 5 面向对象进阶
    Python 4 面向对象
    Python 3 常用模块
    Python基础 2
    Python基础 1
    Django之会议室预预订
    vscode 修改快捷键 (回到上一处光标位置,下一处光标位置)
    C 库函数
    C 库函数
  • 原文地址:https://www.cnblogs.com/tiantianwaigong/p/5462525.html
Copyright © 2011-2022 走看看