JavaScript 逗号表达式笔记

2016-12-05  本文已影响0人  ConsiceBook

#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

```

上一篇下一篇

猜你喜欢

热点阅读