Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/421.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将匿名返回值直接指定给对象的属性_Javascript_Json_Anonymous Function - Fatal编程技术网

Javascript 将匿名返回值直接指定给对象的属性

Javascript 将匿名返回值直接指定给对象的属性,javascript,json,anonymous-function,Javascript,Json,Anonymous Function,如何将匿名函数的返回值分配给JSON对象的属性 以下是我的设想: selectOptionData.push({ value: 123, text: 'Hi there', selected: false, transportObject: function(){ var transObj = null;

如何将匿名函数的返回值分配给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;
                }
            });
第一个:。您有一个使用对象文字符号定义的普通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:
(()=>{})(