首頁 >web前端 >js教程 >javascript中 三目運算子 和 if else 用法有什麼不同?

javascript中 三目運算子 和 if else 用法有什麼不同?

伊谢尔伦
伊谢尔伦原創
2017-07-19 09:24:461576瀏覽

先試了一下if else,程式碼如下:

if(n >= count-1){
n =0;
}else{
n ++;
}

隨後程式碼寫完了,準備優化程式碼,將此段改成了三目運算子的寫法

n = n >= (count-1) ? n=0 : n++

結果完全不同

隨後研究了一下這兩者的區別,總結為一句話:三目運算有回傳值,if else沒有回傳值

做了以下測試:

var n=1;
 if(n>1){
    n=0;
}else{
    n++;
}
console.log(n);

輸出結果:2

#三目運算如下:

var n=1;
n = n>1?0 : n++;
console.log(n);

輸出結果為:1

插入一段其他內容:++n和n++的差別:簡單地說,都是n 自加1。差別是,n++是執行完後面的語句才加1;而++n 就先做n+1才執行後面的語句

那麼對於++n呢

if else 語句

var n=1;
 if(n>1){
    n=0;
}else{
    ++n;
}
console.log(n);

輸出結果:2

#三目運算結果

var n=1;
n = n>1?0 : ++n; 
console.log(n);

輸出結果為:2 

可以看出if else和三目運算的區別了吧~~~
 
n++和++n在此驗證中,沒有任何區別,因為if else都是計算結果之後的,不會回傳n,沒有任何回傳值。
 
但對於三目運算,n++傳回的n值為n本身,++n傳回的n值為n+1之後的結果。

以上是javascript中 三目運算子 和 if else 用法有什麼不同?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn