DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> 關於JavaScript >> JS中三目運算符和if else的區別分析與示例
JS中三目運算符和if else的區別分析與示例
編輯:關於JavaScript     

今天寫了一個圖片輪播的小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有了新的認識呢。

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved