首頁 > web前端 > js教程 > 主體

JS中三目運算子和if else的區別分析與範例_javascript技巧

WBOY
發布: 2016-05-16 16:30:50
原創
1499 人瀏覽過

今天寫了一個圖片輪播的小demo,用到了判斷

先試了一下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之後的結果

讀了本文,小夥伴們是不是對js中的三目運算子和if else有了新的認識呢。

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!