コンマ演算子は、コンマで区切られた各オペランドを評価します (最後のオペランドの値を返します)。
(i = 1 + 2), (j = 3 + 4);
機能的に同等です
i = 1 + 2;
j = 3 + 4;
また、私の知る限り、var などのステートメントは演算子ではなく、オペランドの一部と見なされます。( https://developer.mozilla.org/en/JavaScript/Reference/Operators/Operator_Precedenceを参照)
したがって、各オペランドが個別に評価されている場合、なぜ
function foobar () {
var i = 3, j = 7, z;
}
i、j、z の 3 つの変数を foobar のスコープに作成しますか?
それが実際に起こっていることは知っていますが、なぜこれが実際に起こるのか、しばらく疑問に思っていました. i は foobar のスコープにあるように見えますが、j と z は最終的にグローバル スコープにあるはずです。