如何将匿名函数的返回值分配给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;
                }
            });

最佳答案

首先: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

在定义并立即执行时,这也称为立即函数。

关于javascript - 直接将匿名返回值分配给对象的属性,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4969514/

10-09 09:55