1

ステートメントごとに 1 つの変数を宣言するのは良いことですか?var変更の必要に応じて、コードをプログラム内の行の順序を変更しやすくします。

コードの実行に関して、Node.js の次のスタイルの宣言に違いはありますか?

//Style 1
var keys = ['foo', 'bar']; var values = [23, 42];

//Style 2
var keys = ['foo', 'bar'], values = [23, 42];
4

1 に答える 1

4

varJavaScript では複数のステートメントを使用できます。これは巻き上げと呼ばれます。ただし、スコープの問題が発生する可能性があるため、どの関数でも単一の宣言を使用することをお勧めします。

よく見かけるこのスタイル

var keys   = ['foo', 'bar'],
    values = [23, 42];

実際、JavaScript で宣言を連鎖させることができるのは、宣言が一緒に行われなければならないからです。

スコーピングの問題を説明するには:

f = "check?";

var hello = function () {
  console.log(f);          // undefined
  var f = "nope!";
  console.log(f);          // nope!
};

var hello2 = function () {
  console.log(f);          // check?
  var f2 = "nope!";        // not reusing `f` this time
  console.log(f2);         // nope!
};

hello();
hello2();

一見、最初の出力は と思うかもしれませんが、関数の本体内でcheck?使用しているためvar f、JavaScript によってローカル スコープが作成されています。

このような問題に遭遇するのを避けるために、私は単純に単一のvar宣言を使用します :)

于 2013-02-11T13:32:24.190 に答える