JavaScript 判斷和循環(huán)(四)

判斷

腳本中通常有的地方能夠需要進(jìn)行判斷,以決定接下來要運(yùn)行哪段代碼.
流程圖可以幫助我們進(jìn)行判斷規(guī)劃

判斷表達(dá)式和條件語句

判斷應(yīng)該包含在一個小括號中, 用來表示返回的是一個值, 做到代碼清晰易讀

if (條件){
  滿足true條件時執(zhí)行的操作
}else{
  不滿足false條件時執(zhí)行的操作
};

//例
if ( score > 50 ) {
  document.write('You passed');
} else {
  document.write('Try again...');
};
  • 比較操作符
    返回 true 或 false 的單個結(jié)果

== 等于-比較兩個值是否相同
=== 嚴(yán)格等于-比較兩個值,并檢查它們的數(shù)據(jù)類型是否完全相同
!= 不等于-比較兩個值是否不同
!== 嚴(yán)格不等于-比較兩個值,并檢查它們的數(shù)據(jù)類型是否不完全相同
> 大于
>= 大于等于
< 小于
<= 小于等于

  • 邏輯操作符
    允許將多個比較操作符的結(jié)果放在一起, 在進(jìn)行比較

&& 與-檢測多個條件
|| 或-檢測至少一個條件
! 非-操作一個布爾變量, 然后取反

switch 語句

switch語句, 當(dāng)條件中的值和變量值匹配時, 它后面的代碼就會被執(zhí)行
每個 case 表示一個條件
break 語句會停止執(zhí)行 switch 語句中的其他分支(性能比多個 if 語句要好)
default可以用來處理所有 case 意外的情況

switch (level) {              //level傳入'one' 'two' 等字符串
  case 'one':
    title = 'level 1';
    breack;
  case 'two':
    title = 'level 2';
    breack;
  case 'three':
    title = 'level 3';
    breack;
  default:
    title = 'text';
    breack;
};

循環(huán)

循環(huán)檢查一個條件,如果這個條件為 true, 那么會執(zhí)行一段相應(yīng)的代碼;
然后這個條件會被再次檢查,如果依然返回true, 那么這段代碼會再次被執(zhí)行;
這個過程會一直反復(fù),知道條件返回 false 為止.

for 循環(huán)

如果確定一段代碼運(yùn)行的特定次數(shù),可以用 for 循環(huán).
for 循環(huán)使用計數(shù)器作為條件
計數(shù)器由三條語句組成:

初始化(var i = 0) 在循環(huán)第一次運(yùn)行的時候創(chuàng)建并使用
條件(i < 10) 循環(huán)最終所到達(dá)的數(shù)值
更新(i++) 每次循環(huán)后計數(shù)器的變化規(guī)則

for (var i = 0; i < 10; i++) {            //這里的(var = i; i < 10; i++)就是一個循環(huán)計數(shù)器
  document.write(i);
};
//例:對數(shù)組進(jìn)行循環(huán)

//在循環(huán)外先定義變量
var scores = [24, 32, 17]; 
var arrayLength = scores.length;          //以數(shù)組長度的數(shù)量來確定循環(huán)次數(shù)
var roundNumber = 0;        
var msg = '';            

for (var i = 0; i < arrayLength; i++) {
  roundNumber = (i + 1);
  msg += 'Round ' + roundNumber + ': ';
  msg += scores[i] + '</br>';                            //用循環(huán)次數(shù)作為鍵位, call 出數(shù)組的值
}

document.getElementById('answer').innerHTML = msg;

while 循環(huán)

如果不確定代碼究竟要執(zhí)行多少次,可用 while 循環(huán). 檢查條件只要滿足 true 就會一直重復(fù)

var i = 1;       
var msg = '';    

while (i < 10) {
  msg += i + ' x 5 = ' + (i * 5) + '<br />';
  i++;               //注意,這里的計數(shù)器是在循環(huán)內(nèi)完成操作,而不像 for 循環(huán)寫在條件里
}

document.getElementById('answer').innerHTML = msg;


輸出結(jié)果:
1 x 5 = 5
2 x 5 = 10
3 x 5 = 15
4 x 5 = 20
5 x 5 = 25
6 x 5 = 30
7 x 5 = 35
8 x 5 = 40
9 x 5 = 45

do while 循環(huán)

與 while 循環(huán)相識,只是即使在返回false 時,花括號中的語句也至少會運(yùn)行一次


判斷+循環(huán)示例

//例子用 if else判斷是加法還是乘法, 并 用 while 循環(huán)輸出表格

var table = 3;            
var operator = 'addition'; 
var i = 1;                 
var msg = '';             

if (operator === 'addition') {
  // Do addition
  while (i < 11) {
    msg += i + ' + ' + table + ' = ' + (i + table) + '<br />';
    i++;
  }
} else {
  // Do multiplication
  while (i < 11) {
    msg += i + ' x ' + table + ' = ' + (i * table) + '<br />';
    i++;
  }
}

var el = document.getElementById('blackboard');
el.innerHTML = msg;
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末执赡,一起剝皮案震驚了整個濱河市察郁,隨后出現(xiàn)的幾起案子叉谜,更是在濱河造成了極大的恐慌哮奇,老刑警劉巖循未,帶你破解...
    沈念sama閱讀 216,591評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)够挂,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,448評論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來藕夫,“玉大人孽糖,你說我怎么就攤上這事∫阒” “怎么了梭姓?”我有些...
    開封第一講書人閱讀 162,823評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長嫩码。 經(jīng)常有香客問我,道長罪既,這世上最難降的妖魔是什么铸题? 我笑而不...
    開封第一講書人閱讀 58,204評論 1 292
  • 正文 為了忘掉前任铡恕,我火速辦了婚禮,結(jié)果婚禮上丢间,老公的妹妹穿的比我還像新娘探熔。我一直安慰自己,他們只是感情好烘挫,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,228評論 6 388
  • 文/花漫 我一把揭開白布诀艰。 她就那樣靜靜地躺著,像睡著了一般饮六。 火紅的嫁衣襯著肌膚如雪其垄。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,190評論 1 299
  • 那天卤橄,我揣著相機(jī)與錄音绿满,去河邊找鬼。 笑死窟扑,一個胖子當(dāng)著我的面吹牛喇颁,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播嚎货,決...
    沈念sama閱讀 40,078評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼橘霎,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了殖属?” 一聲冷哼從身側(cè)響起姐叁,我...
    開封第一講書人閱讀 38,923評論 0 274
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎忱辅,沒想到半個月后七蜘,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,334評論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡墙懂,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,550評論 2 333
  • 正文 我和宋清朗相戀三年橡卤,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片损搬。...
    茶點(diǎn)故事閱讀 39,727評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡碧库,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出巧勤,到底是詐尸還是另有隱情嵌灰,我是刑警寧澤,帶...
    沈念sama閱讀 35,428評論 5 343
  • 正文 年R本政府宣布颅悉,位于F島的核電站沽瞭,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏剩瓶。R本人自食惡果不足惜驹溃,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,022評論 3 326
  • 文/蒙蒙 一城丧、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧豌鹤,春花似錦亡哄、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,672評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至灵临,卻和暖如春截型,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背俱诸。 一陣腳步聲響...
    開封第一講書人閱讀 32,826評論 1 269
  • 我被黑心中介騙來泰國打工菠劝, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人睁搭。 一個月前我還...
    沈念sama閱讀 47,734評論 2 368
  • 正文 我出身青樓赶诊,卻偏偏與公主長得像,于是被迫代替她去往敵國和親园骆。 傳聞我的和親對象是個殘疾皇子舔痪,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,619評論 2 354

推薦閱讀更多精彩內(nèi)容