写一个JavaScript行定义一个函数,并返回一个基于函数的结果
问题描述:
我想写的JavaScript代码都定义了一个辅助函数,一个字符串值,并用它来从返回的值代码(对象是精确的) 不过,我想返回值仅仅是对象,而不是函数的定义,即我希望它只是执行的功能。 我不在乎,如果作为一个副作用的功能也将在全球范围内或类似的规定。写一个JavaScript行定义一个函数,并返回一个基于函数的结果
例如我已经试过如下:
var a = (function xyz() {return 10; }, { "b": xyz() })
如果我使用 “;”相反,我得到如下:
未捕获的SyntaxError:意外的标记;
我想它在Chrome控制台上。如果有问题,请告诉我。
答
从你的描述,它听起来就像你希望它返回一个对象:
{
"b":10
}
在这种情况下,你想要做的是:
var a = (function xyz() {return {"b":10};})()
如果你只是想要做的是什么有a
是返回值,那么你想要的是:
var a = (function xyz() {return 10;})()
无论哪种方式,语法是一样的,返回值只是改变。你必须调用使用在其声明的末尾功能()
+0
您的第一个假设是正确的,我期待得到{“b”:10 }回来,但我希望在代码块中具有可读性,以便将函数逻辑与对象值中的用法分开。例如,我可以在对象中的多个位置使用日期diff实用程序函数。 – Oren
变种A = {B:(()=> 10),()} – Gerrit0
感谢@ Gerrit0,如果我想使用这个函数的定义是什么我的对象中有多个地方? – Oren
然后,您最好先定义函数,然后在实例化时调用它。所以,var xyz =()=> 10; VAR A = {B:XYZ()} – Gerrit0