【问题标题】:pass value from object to another object in javascript在javascript中将值从对象传递给另一个对象
【发布时间】:2022-01-15 04:56:40
【问题描述】:

const small = {
  a: 1,
  func: function(b, c, d) {
    return this.a + b + c + d;
  },
};

const large = {
  a: 5,
};

small.func(2, 3, 5);

我需要访问 a: 5 从大对象到小对象。目前 small.func(2,3,5) 给出 11 作为输出。我需要得到 15 作为输出。

【问题讨论】:

  • 可以使用.call()this绑定到large
  • 最好将方法放在对象之外,然后为您创建的任何对象调用它。

标签: javascript object


【解决方案1】:

像这样-

function func(b, c, d) {
    return this.a + b + c + d;
  }
const small = {
  a: 1,
  
};

const large = {
  a: 5,
};

func.call(large, 2,3, 5)

【讨论】:

    【解决方案2】:

    您可以在这里使用callapply

    const result = small.func.call(large, 2, 3, 5);
    

    上述语句的意思是你正在使用函数(或者可以说是借用)small.func 函数并应用在 large 对象的上下文中,参数为 2、3、5。

    const small = {
      a: 1,
      func: function(b, c, d) {
        return this.a + b + c + d;
      },
    };
    
    const large = {
      a: 5,
    };
    
       const result = small.func.call(large, 2, 3, 5);
    // const result = small.func.apply(large, [2, 3, 5]);
    console.log(result);

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-24
      • 2015-09-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-02
      • 2017-12-20
      • 1970-01-01
      相关资源
      最近更新 更多