如何将匿名函数的返回值分配给我的JSON对象的属性?
这是我的情景:
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;
}
});
答案 0 :(得分:1)
首先:You don't have a JSON object。您有一个使用对象文字表示法定义的普通JavaScript对象。
我假设你想立即执行匿名功能?只需在其正文后添加()
:
transportObject: (function(){
var transObj = null;
$.each(transports, function(i, t)
{
if (t.ID == currentTranspObjID) {
transObj = t;
return;
}
});
return transObj;
}()) // <- see here
在您定义并立即执行时,这也称为立即功能。
答案 1 :(得分:1)
如果我正确理解您的问题,您可以执行以下操作:
var myObject = {
value: 123,
text: "hi there",
magics: (function () {
// Do things.
return "stuff";
}())
};
将功能包装在括号中可让您在线调用该功能。