三行代码  ›  专栏  ›  技术社区  ›  Purvesh Dwivedi

在javascript中将值从对象传递到另一个对象

  •  0
  • Purvesh Dwivedi  · 技术社区  · 1 周前

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

    2 回复  |  直到 1 周前
        1
  •  1
  •   decpk    1 周前

    你可以使用 call apply 如下:

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

    上述说法的意思是 您正在使用函数(或者可以说是借用) small.func 功能及其在语境中的应用 large

    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);
        2
  •  0
  •   Shiju Nambiar    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)