#JavaScript 逗号表达式笔记
##逗号操作符是多元操作符,可以在一条语句中执行多个操作
1.逗号操作符可用来定义多个局部变量(即是说逗号表达式能够使多个标识符共享一个var来实现简写):
从以下代码中看到在全局输出a,和b都是报错变量未定义,即a,b局部变量,
2.逗号表达式的值是表达式最后一项的值,比如c在函数中输出为2,
3.在需要将逗号表达式的值付给变量时候,最好用括号将逗号表达式加括号,比如f所在表达式,我们本来的意愿是要将
g和h组成的逗号表达式的值付给f,而f输出的值为1,说明var f = g = 1, h = 2;整个表达式被当成逗号表达式,先执行
逗号左边,再执行逗号右边,逗号表达式的值并没有被付给f,而i加括号后则能够符合我们的意愿;
```
(function (){
var a = 1, b = 2;
var c = (d = 1 ,e = 2);
var f = g = 1, h = 2;
var i = (j = 1, k = 2);
console.log(c); // 2
console.log(f); // 1
console.log(i); // 2
})();
// console.log(a);
// console.log(b);
console.log(g); // 1
// console.log(h); // Uncaught ReferenceError: h is not defined
console.log(j); // 1
console.log(k); // 2
```
4.有时候逗号不一定是逗号操作符:
```
// 1.函数定义的形参之间的逗号不是逗号操作符,test函数两次调用是有区别的第一次调用是将a,b,c看成逗号表达式,第二次调用
是使用逗号将三个值分开而已,所以在使用逗号表达式的时候,一定要注意将括号添上;
function test(x,y,z) {
console.log(arguments[0])
}
test((a,b,c)); // c
test(b,b,b); // b
```
网友评论