4

Javascript の括弧で囲まれた式は、括弧内の式を評価した結果を返すことを理解しています。

x = ( 1, 2, 3 );

上記の 3 つの式を評価し、他の投稿で述べたように、最後の式 '3' の結果を返します。

次のSlickGridのコード例には、よくわからない部分が含まれています。

  $(function () {
    for (var i = 0; i < 500; i++) {
      var d = (data[i] = {});
      d["title"] = "Record " + i;
      d["n1"] = Math.round(Math.random() * 10);
      d["n2"] = Math.round(Math.random() * 10);
      d["n3"] = Math.round(Math.random() * 10);
      d["n4"] = Math.round(Math.random() * 10);
      d["n5"] = Math.round(Math.random() * 10);
    }
    grid = new Slick.Grid("#myGrid", data, columns, options);
  })

特に次の表現:

var d = (data[i] = {});

括弧内の式で初期化された連想配列への参照を返すように見えます。

それは本当に起こっていることですか?これについてのより詳細な説明はありますか?連想配列「d」を作成してから「data[i]」に設定するなど、より明白なことの代わりにこれを行う理由はありますか?

4

5 に答える 5

0

はい、そうです 次のコードを試してください

var theObject={a:"hhelo",b:"no"}
hello={{a:"blah"},theObject}
console.log(hello)
//Object {a: "hhelo", b: "no"}
hello.a="b";
console.log(theObject)
//Object {a: "b", b: "no"}

はい、参照を返します

于 2013-08-07T07:41:12.960 に答える