if……else与三目运算的最主要区别:三目运算有返回值,if else没有返回值 。
I
var n=1;
if(n>1){
n=0;
}else{
n++;
}
console.log(n);
//输出结果为2
II
var n=1;
n = n>1?0 : n++;
console.log(n);
//输出结果为:1
III
var n=1;
if(n>1){
n=0;
}
else{
++n;
}
console.log(n);
//输出结果:2
IV
var n=1;
n = n>1?0 : ++n;
console.log(n);
#输出结果为:2
I与II
n++;对n进行增量计算,返回未做增量计算的值。由于三目运算有返回值,它的n++返回未做增量计算的值1.而if……else没有返回值,仅仅对操作数n执行增量计算。
III与IV
++n;对n进行增量计算,返回做增量计算后的值。