如何在javascript中传递参数

时间:2018-05-26 19:36:07

标签: javascript

var Person = { 
    name: "jana",
    getName: function(callBack) {
        callBack();
        console.log("** "+this.name);
    }
}

var anotherPerson = { name: "prabu"}

我有2个物体。我需要“anotherPerson”与Person对象绑定。另外,我想将参数作为函数发送。

我尝试了以下方法,但它无法正常工作

Person.getName.apply(anotherPerson, function(){})

Person.getName.apply(anotherPerson)(function(){})

3 个答案:

答案 0 :(得分:1)

使用call向您的函数传递任意数量的参数,或apply传递一组参数:

var Person = {
  name: "jana",
  getName: function(callBack) {
    callBack();
    console.log("** " + this.name);
  }
}

var anotherPerson = {
  name: "prabu"
}

Person.getName.call(anotherPerson, function () {})

Person.getName.apply(anotherPerson, [function () {}])

答案 1 :(得分:0)

你试过Object.assign吗?像这样

var Person = {
  name: "jana",
  getName: function(callBack) {
    callBack();
    console.log("** " + this.name);
  }
}

var anotherPerson = {
  name: "prabu"
}
Object.assign(Person, anotherPerson).getName(alert)

答案 2 :(得分:0)

您可以使用箭头功能并返回name参数以将值赋值给getName。

  var Person = {
  name: "jana",
  getName: (obj) =>obj.name
   }

var anotherPerson = {
  name: "prabu"
}
Person.getName(anotherPerson);
console.log(Person);