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

标签 javascript

<分区>

我正在查看这段代码:

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

返回语句是什么意思?我以前从未在 return 语句中看到花括号,我什至不确定“init : init”的作用。

最佳答案

花括号在 javascript 中有两个含义:

  1. 积木
  2. 对象字面量

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

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

当我们说

return { a: "apple" };

这和说是一样的

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

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

关于javascript - 返回大括号在 javascript 中意味着什么(例如 return { init : init} ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17516522/

相关文章:

javascript - intel xdk - 如何将项目保存到云端?

javascript - 括号中的 JSLint 表示音频未定义,但不会提示图像

javascript - HTML5 datalist 标签在 Safari 中无法按预期工作

javascript - 修复图像尺寸/幻灯片

javascript - 如何从页面底部的 <a 链接滚动到 #header DIV 以及如何更改动画速度 - JQuery 1.8.3

Javascript 函数仅在第一次调用时有效

javascript - JS - 它是什么类型的对象以及如何访问它

javascript - 从第二次获取结果

javascript - 如何从mongodb动态获取数据

javascript - 是否可以使用一个变量值作为另一个变量名称的一部分?