亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

javascript if條件判斷方法小結

2019-11-20 15:19:53
字體:
來源:轉載
供稿:網友

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

條件語句

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

在 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<20)
  {
  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<20)
  {
  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",否則如果時間小于 20:00,則發送問候 "Good day",否則發送問候 "Good evening":

復制代碼 代碼如下:

if (time<10)
  {
  x="Good morning";
  }
else if (time<20)
  {
  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){
 alert('here');
}else{
 alert('test is ok!');
}

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

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

復制代碼 代碼如下:

if(!str){
    //do something
}

就可以了。

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

復制代碼 代碼如下:

var b;
var a = 0;
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>
var i=9
var ii=(i>8)?100:9;
alert(ii);
</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("softurl9")){
//判斷是否存在softurl9,防止js出錯
}

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲图片欧美日产| 国产精品中文字幕在线观看| 久久国产精品网站| 欧美丝袜第一区| 亚洲sss综合天堂久久| 久久精品视频在线播放| 亚洲国产精品国自产拍av秋霞| 欧美中文字幕在线播放| 欧美成人一区二区三区电影| 欧美大片免费观看在线观看网站推荐| 欧美大尺度电影在线观看| 日韩欧美在线视频日韩欧美在线视频| 丝袜美腿精品国产二区| 国产精品网址在线| 欧美成人精品在线播放| 久久久久久国产三级电影| 国产精品久久久久久中文字| 国产69精品久久久| 欧美大荫蒂xxx| 久久6免费高清热精品| 国产一区二区三区高清在线观看| 热久久这里只有| 亚洲国产美女久久久久| 欧美视频免费在线观看| 亚洲日本成人网| 欧美大片网站在线观看| 美女999久久久精品视频| 深夜福利亚洲导航| 国产免费一区二区三区在线观看| 久久久之久亚州精品露出| 亚洲xxxx做受欧美| 国产精品三级久久久久久电影| 欧美在线性爱视频| 国产一区二区三区18| 91免费国产视频| 国产精品亚洲自拍| 国产精品视频一| 91美女福利视频高清| 成人免费直播live| 国产精品免费视频xxxx| 亚洲免费影视第一页| 亚洲欧美在线免费观看| 久久69精品久久久久久久电影好| 国产福利视频一区| 亚洲激情小视频| 少妇久久久久久| 色噜噜狠狠狠综合曰曰曰88av| 国产97在线观看| 日韩女优在线播放| 深夜福利日韩在线看| 亚洲的天堂在线中文字幕| 国产一区视频在线播放| 8x海外华人永久免费日韩内陆视频| 日本久久久久亚洲中字幕| 久久免费精品视频| 91精品久久久久久久久久另类| 欧美综合国产精品久久丁香| 深夜福利国产精品| 国外色69视频在线观看| 国产亚洲一区精品| 亚洲精品v天堂中文字幕| 国内精品久久久久影院优| 国产精品电影网| 色妞在线综合亚洲欧美| 中文字幕亚洲无线码a| 51ⅴ精品国产91久久久久久| 国产日韩欧美成人| 91久久国产综合久久91精品网站| 欧美精品情趣视频| 亚洲人成在线免费观看| 国模私拍一区二区三区| 欧美国产高跟鞋裸体秀xxxhd| 亚洲一区久久久| 视频在线观看一区二区| 亚洲2020天天堂在线观看| 国产99久久精品一区二区永久免费| 日韩av片免费在线观看| 欧美在线视频免费观看| 色婷婷久久av| 成人国产精品免费视频| 国产精品免费网站| 日韩久久午夜影院| 亚洲女在线观看| 91国产美女视频| 精品国产老师黑色丝袜高跟鞋| 伊人青青综合网站| 成人久久久久久久| 日韩在线视频免费观看高清中文| www.日韩.com| 中文字幕av一区中文字幕天堂| 欧美精品18videos性欧美| 国产美女精品视频免费观看| 日韩福利在线播放| 色噜噜久久综合伊人一本| 亚洲欧美激情精品一区二区| 国产精品久久久一区| 欧美一级电影久久| 精品中文字幕在线| 欧美精品一区二区三区国产精品| 国产精品久久婷婷六月丁香| 欧美激情国产精品| 欧美一级大胆视频| 日韩精品视频在线观看免费| 国产这里只有精品| 成人av在线亚洲| 欧美成aaa人片在线观看蜜臀| 国产成人高清激情视频在线观看| 亚洲乱码国产乱码精品精| 国产精品日韩在线观看| 91人人爽人人爽人人精88v| 中文字幕欧美日韩在线| 久久视频国产精品免费视频在线| 亚洲自拍偷拍第一页| 视频在线观看99| 亚洲精品97久久| 日韩不卡在线观看| 久久99国产综合精品女同| 色中色综合影院手机版在线观看| 91av在线免费观看视频| 中文字幕欧美国内| 亚洲欧美日韩久久久久久| 国产精品一区二区3区| 亚洲最大福利视频| 91成人在线播放| 欧美国产一区二区三区| 亚洲欧美制服第一页| 久久人人97超碰精品888| 国产精品露脸自拍| 日韩一区二区在线视频| 亚洲人成电影在线| 国产免费一区二区三区香蕉精| 97国产精品人人爽人人做| 在线播放日韩精品| 欧美激情精品久久久久久免费印度| 亚洲人成绝费网站色www| 中文字幕日韩在线观看| 青草青草久热精品视频在线网站| 精品福利在线看| 欧美日韩国产一区在线| 亚洲国产小视频在线观看| 亚洲色图在线观看| 欧美一级黄色网| 国产日韩欧美在线播放| 国产精品美女呻吟| 国产精品九九九| 性视频1819p久久| 久久韩剧网电视剧| 国产综合香蕉五月婷在线| 久久综合网hezyo| 欧美日韩国产精品一区二区不卡中文| 在线日韩av观看| 性色av一区二区三区| www.日韩不卡电影av| 欧美成人精品在线观看| 成人免费福利在线| 日本精品视频在线| 美日韩精品免费观看视频| 国产亚洲一区精品| 日韩欧美高清视频| 国产精品成人av性教育| 久久成人18免费网站| 91色琪琪电影亚洲精品久久| 久久精品国产91精品亚洲| 精品日本高清在线播放|