zoukankan      html  css  js  c++  java
  • js中.bind()和.call()用法讲解

    var option = {
              ti : 8,
              it(){
                  return this.ti;
              }
          }

    这里又一个option对象,it()方法里的this指的就是option对象的上下文。

    console.log(option.it());

    直接输出option.it()可以打印出8,option对象作为全局变量可以直接调用;

    那我如果只想用option里的it()方法呢,如这样:

    var option = {
              ti : 8,
              it(){
                  return this.ti;
              }
          }
          var option2 ={
              ti :7
          }
          var nb = option.it.call(this.option);//call里的this>wiondow对象
          var nb2 = option.it.call(option2);
          console.log(nb);//8
          console.log(nb2);//7
          console.log(option.it());//8

    nb2这个对象,将option里的this指向了option2,所以this.ti相当于option2.ti;

    bind和call用法差不多,call返回的是对象,bind返回的是一个函数。如果var bn2 = option.ti.bind(option2);那么在调用的时候就要

    console.log(nb2())
    console.log(nb2())
  • 相关阅读:
    数据恢复
    InnoDB LRU优化
    STM32 M0之SPI
    C# 添加日志文件
    VCI_CAN二次开发摘机
    [一点感触]ADF4350 ADF4111混频记
    Linux札记
    C# String与Byte数组的转换
    STM32 CAN
    stm32 F40x CCM数据区的使用
  • 原文地址:https://www.cnblogs.com/chopin-1990/p/10286416.html
Copyright © 2011-2022 走看看