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(){})
答案 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);