前端: var a = 1;var b = a++ + ++a + a-- + --a;//问b = ?

var a = 1;
var b = a++ + ++a + a-- + --a;

前端: var a = 1;var b = a++ + ++a + a-- + --a;//问b = ?
分析:
a的初值为1
b中 a++的含义是把a加一变成2 此时a=2但是 不会赋值给b!!!
然后++a 把a赋值3
然后a-- 把a赋值2
然后 --a 把a赋值1
计算总和: 2+3+2+1 = 8;

var a = 1;
var b = a++;
//问:b =?

前端: var a = 1;var b = a++ + ++a + a-- + --a;//问b = ?
解析:a++会将a立即自增1 但是不会立即赋值给b
前端: var a = 1;var b = a++ + ++a + a-- + --a;//问b = ?
第二次赋值时 a已经等于2 所以将a赋值给b b的值为2
前端: var a = 1;var b = a++ + ++a + a-- + --a;//问b = ?

++a会立即自增并赋值
前端: var a = 1;var b = a++ + ++a + a-- + --a;//问b = ?

上一篇:The Linux Trace Toolkit |


下一篇:油猴-知乎自动关闭登录弹窗,自动跳转链接