先試了一下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中文網其他相關文章!