1. 程式人生 > >if……else語句與三目運算?:的區別在哪裡?

if……else語句與三目運算?:的區別在哪裡?

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進行增量計算,返回做增量計算後的值。