亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

javascript if條件判斷方法小結(jié)

 更新時間:2014年05月17日 01:47:28   作者:  
今天在為網(wǎng)站增加一些代碼功能的時候,需要用到if條件判斷,發(fā)現(xiàn)簡寫方法忘了,這里特整理下

條件語句用于基于不同的條件來執(zhí)行不同的動作。

條件語句

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

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

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

If 語句

只有當指定條件為 true 時,該語句才會執(zhí)行代碼。

語法

復(fù)制代碼 代碼如下:

if (條件)
  {
  只有當條件為 true 時執(zhí)行的代碼
  }

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

實例
當時間小于 20:00 時,生成一個“Good day”問候:

復(fù)制代碼 代碼如下:

if (time<20)
  {
  x="Good day";
  }

x 的結(jié)果是:

Good day

親自試一試

請注意,在這個語法中,沒有 ..else..。您已經(jīng)告訴瀏覽器只有在指定條件為 true 時才執(zhí)行代碼。
If...else 語句
請使用 if....else 語句在條件為 true 時執(zhí)行代碼,在條件為 false 時執(zhí)行其他代碼。

語法

復(fù)制代碼 代碼如下:

if (條件)
  {
  當條件為 true 時執(zhí)行的代碼
  }
else
  {
  當條件不為 true 時執(zhí)行的代碼
  }
 

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

復(fù)制代碼 代碼如下:

if (time<20)
  {
  x="Good day";
  }
else
  {
  x="Good evening";
  }
 

x 的結(jié)果是:

Good day

親自試一試
If...else if...else 語句
使用 if....else if...else 語句來選擇多個代碼塊之一來執(zhí)行。

語法

復(fù)制代碼 代碼如下:

if (條件 1)
  {
  當條件 1 為 true 時執(zhí)行的代碼
  }
else if (條件 2)
  {
  當條件 2 為 true 時執(zhí)行的代碼
  }
else
  {
  當條件 1 和 條件 2 都不為 true 時執(zhí)行的代碼
  }

實例
如果時間小于 10:00,則將發(fā)送問候 "Good morning",否則如果時間小于 20:00,則發(fā)送問候 "Good day",否則發(fā)送問候 "Good evening":

復(fù)制代碼 代碼如下:

if (time<10)
  {
  x="Good morning";
  }
else if (time<20)
  {
  x="Good day";
  }
else
  {
  x="Good evening";
  }

x 的結(jié)果是:

Good morning

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

1、布爾變量true/false
2、數(shù)字非0,非NaN/ (0 或NaN)

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

復(fù)制代碼 代碼如下:

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

3、對象非null/(null或undefined)
4、字符串非空串(“”)/空串("")

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

復(fù)制代碼 代碼如下:

if(!str){
    //do something
}

就可以了。

對于數(shù)字的非空判斷,則要考慮使用isNaN()函數(shù),NaN不和任何類型數(shù)據(jù)相等,包括它本身,只能用isNaN()判斷。對于數(shù)字類型,if(a)語句中的a為0時if(a)為假,非0時if(a)為真

復(fù)制代碼 代碼如下:

var b;
var a = 0;
a = a + b;
if(a){
 alert('1');
}else{
 alert('2');
}
if(isNaN(a)){
 alert('a is NaN');
}

javascript教程:關(guān)于if語句優(yōu)化的方法 if簡寫

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

一、使用常見的三元操作符

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();

對于以上使用三元操作符來優(yōu)化if語句你肯定不會陌生,或許你經(jīng)常使用它。

腳本之家給出的例子:

復(fù)制代碼 代碼如下:

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

輸出結(jié)果:

100

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

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

老實說,我并沒有這樣去寫過代碼,這種寫法我在學(xué)習《鳥哥的 Linux 私房菜》時看到過,但我并沒想到在js中實現(xiàn)它。

三、省略大括號{}

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

這種寫法你我都很熟悉,但我建議在代碼優(yōu)化的時候這樣做,或者交給UglifyJS幫你去解決。畢竟少一個大括號,代碼的可閱讀性并不高。

寫到這里,我想到j(luò)Query之父在《精通 JavaScript》中的一個獲取HTML元素屬性的方法。

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

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

仔細想想,好些時候我們都能找到解決問題的有效途徑,但關(guān)鍵在于我們是否用心去尋找一種更好的途徑。

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

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

反之if(x)表示x非空

判斷對象是否存在

復(fù)制代碼 代碼如下:

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

復(fù)制代碼 代碼如下:

if(document.getElementById("softurl9")){
//判斷是否存在softurl9,防止js出錯
}

相關(guān)文章

  • 一文帶你理解JavaScript 觀察者模式

    一文帶你理解JavaScript 觀察者模式

    觀察者模式(Observer Pattern)是一種行為型設(shè)計模式,它定義了一種一對多的依賴關(guān)系,讓多個觀察者對象同時監(jiān)聽某一個主題對象,本文將帶你詳細了解JavaScript 觀察者模式,,需要的朋友可以參考下
    2023-05-05
  • javascript實現(xiàn)畫不相交的圓

    javascript實現(xiàn)畫不相交的圓

    這篇文章主要介紹了javascript實現(xiàn)畫不相交的圓,這個也是阿里巴巴的筆試題,只不過忘記當時是不是要求必須用canvas來實現(xiàn),下篇文章再寫吧。
    2015-04-04
  • JavaScript實現(xiàn)頁面跳轉(zhuǎn)的八種方式

    JavaScript實現(xiàn)頁面跳轉(zhuǎn)的八種方式

    這篇文章介紹了JavaScript實現(xiàn)頁面跳轉(zhuǎn)的八種方式,文中通過示例代碼介紹的非常詳細。對大家的學(xué)習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-06-06
  • Javascript將字符串日期格式化為yyyy-mm-dd的方法

    Javascript將字符串日期格式化為yyyy-mm-dd的方法

    日期格式化相信對于大家來說再熟悉不過,最近工作中自己利用Javascript就寫了一個,現(xiàn)在將實現(xiàn)的代碼分享給大家,希望對有需要的朋友們能有所幫助,感興趣的朋友們下面來一起看看吧。
    2016-10-10
  • JS版圖片放大鏡效果

    JS版圖片放大鏡效果

    這篇文章主要為大家詳細介紹了JS版的圖片放大鏡效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • js獲取元素的偏移量offset簡單方法(必看)

    js獲取元素的偏移量offset簡單方法(必看)

    下面小編就為大家?guī)硪黄猨s獲取元素的偏移量offset簡單方法(必看)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-07-07
  • JavaScript 中的 this 簡單規(guī)則

    JavaScript 中的 this 簡單規(guī)則

    想要確定this里規(guī)則是什么,其實方法很簡單,通過檢查它的調(diào)用位置,在函數(shù)被調(diào)用的時候確定this,下面就跟隨腳本之家小編一起通過本文學(xué)習吧
    2017-09-09
  • 最新評論