2

次の方法で変数のリストを宣言しているとしましょう。

var a = "value_1"
  , b = "value_2"
  , c = b;

の期待値はc何ですか?言い換えると、変数のスコープはコンマの直後に使用できますか、それともセミコロンまで使用できませんか?

cこれは、の値が次のようになることが非常に明確である次のコードスニペットとは対照的です"value_2"

var a = "value_1";
var b = "value_2";
var c = b;

ブラウザでテストするのではなく、質問して、動作が一貫していると想定したいと思いました。

4

2 に答える 2

3

コンマ演算子を参照してください:

コンマ演算子は、両方のオペランドを(左から右に)評価し、2番目のオペランドの値を返します。

したがってb = "value_2"、前に評価されますc = b

于 2012-05-30T22:00:37.807 に答える
2

それは実際には質問に対する答えではありませんが、同じものの2つの表現の間でそのような選択に直面した場合は、常に曖昧さの少ない方を選択してください。

2番目のコードスニペットでは、最終的な状態が何であるかが誰にでも明らかです。最初のものでは、知っておくためにここで質問する必要がありました:)今から1か月後にコードに戻った場合、または他の誰かが戻った場合は、同じプロセスで検索する必要があります。実際の意味を出します。保存している6文字の価値はないと思います。

于 2012-05-30T22:16:44.397 に答える