返回大括号在javascript中意味着什么(例如return{init:init})

What do returning curly braces mean in javascript (ex. return { init : init} )

本文关键字:init 例如 return 什么 javascript 意味着 返回      更新时间:2023-09-26

我正在查看以下代码:

$(function(){
    var $sidescroll = (function() {
        init = function() {
            //STUFF
        };
        return { init : init };    //What does this do?
    })();
    $sidescroll.init();
});

退货声明是什么意思?我以前从未在return语句中看到过大括号,甚至不确定init:init'做了什么。

花括号在javascript:中意味着两件事

  1. 对象文字

您可能已经看到了第二种——在其他语言中也称为"字典"、键值对、关联数组等:

myDict = { a: "apple", b: "banana" };

当我们说

return { a: "apple" };

这和说是一样的

myDict = { a: "apple" };
return myDict;

在这种情况下,"令人困惑"的是(1)键和值是相同的/具有相同的字符表示,以及(2)值不是一个正常的字符串或变量,而是一个函数。也就是说,访问对象/字典的键"init"将为您提供一个可以使用()调用的函数。

它返回一个新的Object实例,init字段设置为init变量的值。这被称为"对象文字"

return { init : init }; 

与相同

var o = new Object();
o.init = init;
return o;