var a = 1;
console.log( a+++a );
console.log( a+++1 );
console.log( 1+++a );
如上述代码,在 node 6 下面,前两句输出都是2,第三句报错
console.log( 1+++a );
^
ReferenceError: Invalid left-hand side expression in postfix operation
从结果来看,对于 a+++a ,node的解析顺序是 (a++) + a ,当第一个a变成常数时,报错。
但我一个老师出了一道js笔试题如下:
var a = 1;
var b = a+++++a;
他问 b 是多少。
我直接回答浏览器的js解析器会报错,他说:有很多种解析方法,
(a++) + (++a)
(a++)++ a
a + ++(++a)
到这里我发现,这道题真的有意义吗?
我Google了 "a+++++a" ,并没有找到这道笔试题,请教各位大神,这道题真的有意义吗?
MM们
相关分类