如何将函数的返回值直接赋值给对象文字

时间:2011-07-08 08:06:09

标签: javascript

我有以下代码:

“myFunction”是我作为参数获得的匿名函数。 ...

newObj = { id: idValue, div: null };
newObj.div = myFunction();

是否有更短的方法,一种将函数的​​结果直接分配给对象文字的方法,如:

newObj = { id: idValue, div: (myFunction ())};

提前多多谢谢 沃尔夫冈

2 个答案:

答案 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属性。 现在,在您的示例中,有两件事是可能的。

  1. 如果要将函数的返回值分配给对象的属性(如您所指定),则应使用:

    newObj = {id:idValue, div: myfunction()};

  2. 如果您想将函数,而不是函数的返回值分配给属性,那么您应该删除parantheses:

    newObj = {id:idValue, div: myfunction};