2016-12-14 80 views
0

我想写的JavaScript代码都定义了一个辅助函数,一个字符串值,并用它来从返回的值代码(对象是精确的) 不过,我想返回值仅仅是对象,而不是函数的定义,即我希望它只是执行的功能。 我不在乎,如果作为一个副作用的功能也将在全球范围内或类似的规定。写一个JavaScript行定义一个函数,并返回一个基于函数的结果

例如我已经试过如下:

var a = (function xyz() {return 10; }, { "b": xyz() })
这将返回: VM209:1未捕获的ReferenceError:XYZ是没有定义的(...)

如果我使用 “;”相反,我得到如下:

未捕获的SyntaxError:意外的标记;

我想它在Chrome控制台上。如果有问题,请告诉我。

+1

变种A = {B:(()=> 10),()} – Gerrit0

+0

感谢@ Gerrit0,如果我想使用这个函数的定义是什么我的对象中有多个地方? – Oren

+0

然后,您最好先定义函数,然后在实例化时调用它。所以,var xyz =()=> 10; VAR A = {B:XYZ()} – Gerrit0

回答

0

从你的描述,它听起来就像你希望它返回一个对象:

{ 
    "b":10 
} 

在这种情况下,你想要做的是:

var a = (function xyz() {return {"b":10};})() 

如果你只是想要做的是什么有a是返回值,那么你想要的是:

var a = (function xyz() {return 10;})() 

无论哪种方式,语法是一样的,返回值只是改变。你必须调用使用在其声明的末尾功能()

+0

您的第一个假设是正确的,我期待得到{“b”:10 }回来,但我希望在代码块中具有可读性,以便将函数逻辑与对象值中的用法分开。例如,我可以在对象中的多个位置使用日期diff实用程序函数。 – Oren

相关问题