首頁 > web前端 > js教程 > javascript if條件判斷方法小結_javascript技巧

javascript if條件判斷方法小結_javascript技巧

WBOY
發布: 2016-05-16 16:48:08
原創
1534 人瀏覽過

條件語句用於基於不同的條件來執行不同的動作。

條件語句

通常在寫程式碼時,您總是需要為不同的決定來執行不同的動作。您可以在程式碼中使用條件語句來完成該任務。

在 JavaScript 中,我們可使用以下條件語句:

•if 語句- 只有當指定條件為true 時,使用該語句來執行程式碼
•if...else 語句- 當條件為true 時執行程式碼,當條件為false 時執行其他程式碼
•if...else if....else 語句- 使用該語句來選擇多個程式碼區塊之一來執行
•switch 語句- 使用該語句來選擇多個程式碼區塊之一來執行

If 語句

只有當指定條件為 true 時,語句才會執行程式碼。

文法

複製程式碼 程式碼如下:

if (條件)
 >當條件為true 時執行的程式碼
  }

注意:請使用小寫的 if。使用大寫字母(IF)會產生 JavaScript 錯誤!

實例

當時間小於 20:00 時,產生一個「Good day」問候:

複製程式碼 程式碼如下:
if (time

if (time >  x="Good day";
  }

x 的結果是:

Good day

親自試試


請注意,在這個語法中,沒有 ..else..。您已經告訴瀏覽器只有在指定條件為 true 時才執行程式碼。
If...else 語句

請使用 if....else 語句在條件為 true 時執行程式碼,在條件為 false 時執行其他程式碼。

文法

程式碼如下:


if (條件)
 >條件為true 時執行的程式碼
  }
else
  {
  當條件不為true 執行的程式碼
  }
 

實例
當時間小於 20:00 時,將得到問候 "Good day",否則將得到問候 "Good evening"。

複製程式碼 程式碼如下:

if (time

if (time >  x="Good day";
  }
else
  {
  x="Good evening";
  } 

x 的結果是:

Good day

親自試試看

If...else if...else 語句

使用 if....else if...else 語句來選擇多個程式碼區塊之一來執行。

文法

複製程式碼
程式碼如下:


if (條件1)
 >當條件1 為true 時執行的程式碼
  }
else if (條件2)
  {
  當條件2 為true 執行的程式碼
  }
else
 
  當條件1 與條件2 都不為true 時執行的程式碼
  }


實例如果時間小於10:00,則會傳送問候"Good morning","Good morning",否則如果時間小於20:00,則發送問候"Good day",否則發送問候"Good evening":

程式碼如下:


if (time

if (time >  x="Good morning";
  }
else if (time  {
  x="Good day";
  }
else
 >  x="Good evening";
  }

x 的結果是:

Good morning

在javascript中,哪些值能作為if的條件呢


1、布林變數true/false

2、數字非0,非NaN/ (0 或NaN)

見下面的例子,莫以為負數就以為if語句為假了。

複製程式碼
程式碼如下:


var i = -1;
if(i>if(i ){
 alert('here');
}else{
 alert('test is ok!');
}

3、物件非null/(null或undefined)
4、字串非空字串(“”)/空字串("")

綜上所述,對於字串,不用寫一大堆if(str!=null && str!=undefined && str !=''), 只要用一句

複製程式碼 程式碼如下:

if(!str){


if(!str){
something}

就可以了。

對於數字的非空判斷,則要考慮使用isNaN()函數,NaN不和任何類型資料相等,包括它本身,只能用isNaN()判斷。對於數字類型,if(a)語句中的a為0時if(a)為假,非0時if(a)為真 複製程式碼

程式碼如下:


var b;
var a = 00 🎜>a = a b;
if(a){
 alert('1');
}else{
 alert('2');
}
if(isNaN (a)){
 alert('a is NaN');
}

javascript教學:關於if語句優化的方法 if簡寫

UglifyJS是一個對​​javascript進行壓縮和美化的工具,在它的文檔說明中,我看到了幾種關於if語句優化的方法。儘管我還沒用它去做一些嘗試性的測試,但從這裡可以看到它的確對js作了美化的工作。也許有人認為if語句就這麼簡單,能優化到什麼程度?但看看以下的幾種方式,你也許會改變看法。

一、使用常見的三元運算子



if (foo) bar(); else baz(); ==> foo?bar():baz();

if (!foo) bar(); else baz(); ==> foo ?baz():bar();

if (foo) return bar(); else return baz(); ==> return foo?bar():baz();

對於以上使用三元運算元來優化if語句你肯定不會陌生,或許你常使用它。

腳本之家給的例子:

複製程式碼
程式碼如下:


<script><BR>var i >var ii=(i>8)?100:9;<BR>alert(ii);<BR></script>

輸出結果:

100

二、使用and(&&)和or(||)運算子


if (foo) bar(); ==> foo&&bar();

if (!foo) bar(); ==> foo||bar();

老實說,我並沒有這樣去寫過程式碼,這種寫法我在學習《鳥哥的 Linux 私房菜》時看到過,但我並沒想到在js中實現它。

三、省略大括號{}

if (foo) return bar(); else something(); ==> {if(foo)return bar();something()}

這種寫法你我都很熟悉,但我建議在程式碼優化的時候這麼做,或是交給UglifyJS幫你解決。畢竟少一個大括號,程式碼的可閱讀性並不高。

寫到這裡,我想到jQuery之父在《精通 JavaScript》中的一個取得HTML元素屬性的方法。


function getAttr(el, attrName){
var attr = {'for':'htmlFor', 'class':'className'}[attrName] || attrName;

};

如果我們不這樣寫,可能我們需藉助於兩個if語句來進行處理,而上面的程式碼不僅簡潔有效,而且可閱讀性強。

仔細想想,好些時候我們都能找到解決問題的有效途徑,但關鍵在於我們是否用心去尋找更好的途徑。

【javascript技巧】if(x==null)簡寫

if(x==null)或if (typeof (x) == 'undefined')可以簡寫為if(!x),未經驗證。

反之if(x)表示x非空

判斷物件是否存在

代碼如下:


if(document.form1.softurl9){
//判斷是否有softurl9,防止js出錯
}

程式碼如下:


if(document.getElementById("urlsoftById("urlsoftById("urlsoftById("urlsoftById("urlsoftById("urlsoftById("urlsoftById("urlsoftById("urlsoftById("urlsoftById("urlsoftById("urlsoftById("urlsoftById("urlsoftById("urlsoftById("url
//判斷是否有softurl9,防止js出錯
}
相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板