Javascript 逗号“,”引发的血案
为了更好的说明问题,首先引出下面的题目
- //请说明下面变量 a-e 的值
- var a = [[1][1]];
- var b = [['a','b','c'][1]];
- var c = [['a','b','c'][1], ['a','b','c']];
- var d = [['a','b','c']['length'], ['a','b','c']];
- var e = [['a','b','c']['father', 'child', '0'], ['a','b','c']];
首先理解表达式
- var a = [[1][1]];
- var tmp = [1];
- var a = [tmp[1]]; // honker: tmp[1] 就是 [1][1]
- var b = [['a','b','c'][1]];
- ['a','b','c']['length']
- var tmp = ['a','b','c'];
- console.info(tmp.length);
取的是 ['a','b','c'] 的长度,所以是 3 。而
- ['a','b','c']['father', 'child', '0']
- ['a','b','c']['0']