var num1 = 24; var myresult = num1++ % 4 + 6 * 2; console.log(myresult);num1先求余数运算的结果是0,然后再自增1,就是1,再加12,结果应该是13啊?为何实际结果是12呢?num1%4的值是0,num1++%4的值不应该是1吗?要不然num1++有自增吗?
1 回答
陪伴而非守候
TA贡献1757条经验 获得超8个赞
num1++是一个表达式,这个表达式的值是num1原来的值,所以这个表达式的值求余为0,于是num1++%4这个表达式的值就是0,0+6*2是12,所以这个算完后,myresult是12,num1是自增了1
并且不是整个表达式算完才自增,num1++算完就自增了,只是num1++这个表达式的值还是原来的值,用js演示一下,如果是像有人说的全部算完才计算的,那么下面的应该输出 0和12,但实际是1和12
var num1=0; function cheack(n){ console.log(n); return 0; } console.log(num1++ % 4 +cheack(num1)+ 6 * 2);
添加回答
举报
0/150
提交
取消