4

私はこのコードを見ています:

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

return ステートメントの意味は何ですか? return ステートメントで中括弧を見たことがなく、「init : init」が何をするのかさえわかりません。

4

2 に答える 2

11

中括弧は、JavaScript で次の 2 つのことを意味します。

  1. ブロック
  2. オブジェクトリテラル

おそらく 2 番目のものを見たことがあるでしょう。他の言語では「辞書」、キーと値のペア、連想配列などとしても知られています。

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

私たちが言うとき

return { a: "apple" };

と言っているのと同じです

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

この場合の「紛らわしい」ことは、(1) キーと値が同一であるか、同じ文字表現を持っていること、および (2) 値が通常の文字列または変数ではなく、関数であることです。つまり、オブジェクト/辞書のキー「init」にアクセスすると、で呼び出すことができる関数が得られます()

于 2013-07-07T21:25:14.957 に答える
5

init フィールドが init 変数の値に設定された新しい Object インスタンスを返します。これを「オブジェクトリテラル」と呼びます

いえ

return { init : init }; 

と同じです

var o = new Object();
o.init = init;
return o;
于 2013-07-07T21:24:34.607 に答える