我有以下代码:
“myFunction”是我作为参数获得的匿名函数。 ...
newObj = { id: idValue, div: null };
newObj.div = myFunction();
是否有更短的方法,一种将函数的结果直接分配给对象文字的方法,如:
newObj = { id: idValue, div: (myFunction ())};
提前多多谢谢 沃尔夫冈
答案 0 :(得分:1)
你应该工作的东西:
newObj = {id:idValue, div: myfunction()};
答案 1 :(得分:1)
JavaScript是一种函数式编程,这意味着您几乎可以在任何地方使用anonymous functions
。考虑这个例子:
var human = { firstName: 'Saeed', lastName: 'Neamati', getName: function () {
return this.firstName + ' ' + this.lastName;
}
};
human.getName();
这里,匿名函数被分配给getName
属性。
现在,在您的示例中,有两件事是可能的。
如果要将函数的返回值分配给对象的属性(如您所指定),则应使用:
newObj = {id:idValue, div: myfunction()};
如果您想将函数,而不是函数的返回值分配给属性,那么您应该删除parantheses:
newObj = {id:idValue, div: myfunction};