The purpose of the comma operator in JavaScript (x, x1, x2, …, xn)
In JavaScript (x, x1, x2, …, xn)
always re开发者_运维技巧turns xn
.
In Python this code is called tuple and it returns different values.
My question is what is the purpose of this code in JavaScript? Do you have some practical example?
The comma operator evaluates every operand but only returns the result of the last evaluation. It can be used to initialize multiple variable in a for loop.
var str = "Hello, World!";
for(var i = 0, len = str.length; i < len; i++)
console.log(str.charAt(i));
Edit: As pointed out in the comments, this isn't a true example of the comma operator, this is just the var
. You can see this page for actual examples.
http://en.wikipedia.org/wiki/Comma_operator
Like in C and C++, the comma operator evaluates both the left and right operands, returning the right operand. In terms of practical uses, a, b
can be used in place of a ? b : b
, as well as used as a limited way to fit multiple 'statements' into one statement, such as in the first or third parts of a for
loop.
Note that declaring and/or defining multiple variables with var
, separated by commas, is not a use of the comma operator, even though it uses the comma symbol. The comma operator evaluates to and forms an expression, which can be used as a value as part of a larger expression or statement. var
is a complete statement type that takes the form
var name1 [= value1][, name2 [= value2][, ...]];
The MDC docs has a good example of a practical use for the comma operator:
If a is a 2-dimensional array with 10 elements on a side, the following code uses the comma operator to increment two variables at once. The code prints the values of the diagonal elements in the array:
for (var i = 0, j = 9; i <= 9; i++, j--)
document.writeln("a[" + i + "][" + j + "] = " + a[i][j]);
精彩评论