Javascript 将匿名返回值直接指定给对象的属性
如何将匿名函数的返回值分配给JSON对象的属性 以下是我的设想:Javascript 将匿名返回值直接指定给对象的属性,javascript,json,anonymous-function,Javascript,Json,Anonymous Function,如何将匿名函数的返回值分配给JSON对象的属性 以下是我的设想: selectOptionData.push({ value: 123, text: 'Hi there', selected: false, transportObject: function(){ var transObj = null;
selectOptionData.push({
value: 123,
text: 'Hi there',
selected: false,
transportObject: function(){
var transObj = null;
$.each(transports, function(i, t)
{
if (t.ID == currentTranspObjID) {
transObj = t;
return;
}
});
return transObj;
}
});
第一个:。您有一个使用对象文字符号定义的普通JavaScript对象
我假设您想立即执行匿名函数?只需在其正文后添加()
:
transportObject: (function(){
var transObj = null;
$.each(transports, function(i, t)
{
if (t.ID == currentTranspObjID) {
transObj = t;
return;
}
});
return transObj;
}()) // <- see here
transportObject:(函数(){
var transObj=null;
$。每个(传输、功能(i、t)
{
if(t.ID==currentTranspBjId){
transObj=t;
返回;
}
});
返回transObj;
}())/如果我正确理解您的问题,您可以执行以下操作:
var myObject = {
value: 123,
text: "hi there",
magics: (function () {
// Do things.
return "stuff";
}())
};
将函数用括号括起来,可以在线调用函数。Felix感谢您的澄清。事实上,我在发布我的问题之前就这样做了,但我添加了一个;最后比如:(function(){…}());很明显,我破坏了我正在编辑的插件,我想我做了些什么。。。你认为在插件中还是它只是不能有一个;最后非常感谢@byte_slave:不,如果您放入代码>在那里,那么您的语法无效。属性之间只能出现在最后一个属性之后的、
或零。否则它看起来像:varobj={foo:1,bar:0;}代码>哪个是错误的。对象定义是一条语句,但是代码>分隔语句。是的…对的…我考虑的是函数而不是属性:(这就是为什么…感谢您的启发。非常感谢您的帮助。您如何使用arrow函数?@Arfeen:(()=>{})(