在JavaScript中 語句使用分號(;)進行分隔 能夠在每行編寫一條語句 也能夠在每行編寫多條語句spa
JavaScript中使用一堆花括號({})表示一個語句塊 使用語句塊爲語句進行分組 這樣使語句的結構清晰明瞭code
空語句容許包含0條語句 JavaScript解釋器執行空語句時 不會執行任何動做圖片
JavaScript解釋器按照語句的編寫順序依次執行 但也能夠編寫一些複雜的語句塊 分爲 順序執行 選擇執行 循環執行ip
條件語句就是指經過判斷指定的計算結果 來絕對是執行仍是跳過指定的語句塊
若是說JavaScript解釋器是按照代碼的"路徑"執行的話 那條件語句就是這條路上的分叉點 代碼執行到這裏時必須選擇其中一條路徑繼續執行
JavaScript提供了兩種條件語句:if...else語句和switch...case語句開發
1.if語句是條件判斷語句 也是最基本的流程控制語句
2.if關鍵字後面的小括號不能被省略
3.if關鍵字後面的條件判斷的結果必須是布爾值 若是結果爲非布爾值的話 JavaScript會自動轉換爲布爾值
4.if語句中的大括號({})能夠省略 可是建議編寫 提升代碼閱讀性it
if (條件表達式){ 語句塊 當條件表達計算結果爲true時才執行 }
條件表達式:
*做用 控制是否執行指定的語句塊
*結果 通常爲Boolean類型的值(true|false)
*問題 若是條件表達式計算的結果不是Boolean類型
*將結果強行轉換爲Boolean類型 再進行判斷console
var result = true;// boolean類型值 var v;/* 定義變量,但不初始化 */ /*if (v = '臥龍學苑') {/!* 將變量的初始化操做,放置在條件表達式中 *!/ console.log('這是if語句執行的語句塊...'); }*/ // 等價於如下寫法 v = '臥龍學苑';/* 變量的初始化操做 */ if (v) { console.log('這是if語句執行的語句塊...'); } console.log('這是if語句執行完畢後的內容...');
if...else語句語句是條件判斷語句 可是與if語句的執行流程並不一樣
if...else語句的執行流程:
1.判斷條件的結果是true仍是false
2.當結果爲true時 執行下面的語句塊1
3.當結果爲false時 執行下面的語句塊2
4.繼續執行語句塊3class
var result = false; /* if...else語句 if (條件表達式) { 語句塊一 } else { 語句塊二 } */ if (result) { console.log('這是語句塊一...'); } else { console.log('這是語句塊二...'); } console.log('這是if語句執行完畢後的內容...');
if語句與if...else語句
1.對應的語句塊的大括號"{}" 容許被省略的
2.前提:當前語句塊中只存在一條語句時
3.省略大括號"{}"時 JavaScript默認認爲後面的第一條語句是被控制的語句塊內容
4.結論:建議按照語法規則編寫基礎
if...else語句支持嵌套寫法 也就是說 能夠在if或else後面的語句塊中據需偏斜if...else語句變量
var score = 65; if (score > 90) { console.log('優秀'); } else { if (score > 80) { console.log('良好'); } else { console.log('及格'); } }
1.else...if語句是在if語句的基礎上 容許提供多個條件判斷
2.else...if語句實際上就是簡化版的if...else語句的嵌套寫法
var score = 65; if (score > 90) { console.log('優秀'); } else { if (score > 80) { console.log('良好'); } else { console.log('及格'); } } /* if (條件表達式一) { 語句塊一 } else if (條件表達式二) { 語句塊二 } else { 語句塊三 } * else if語句沒有任何限制 */ if (score > 90) { console.log('優秀'); } else if (score > 80) { console.log('良好'); } else { console.log('及格'); }
1.switch...case語句是開關語句 但總體執行流程要比if...else語句複雜的多
2.實際開發中 switch...case語句與break語句同時使用
枚舉 將計算結果可能的值儘可能的羅列完整
switch (條件表達式) { case 值一: 語句塊一 case 值二: 語句塊二 ... ... default: 語句塊N }
*條件表達式 不必定是Boolean類型 計算結果分別與case語句的值進行比較
*條件表達式計算結果與case語句的值是全等比較(既要比較值 也要比較類型)
*case語句 羅列可能的匹配值
*對應的語句塊最後添加 break 關鍵字 當執行對應的語句塊以後 中止繼續執行
*default語句 相似於if...else語句中的else語句
*當以上全部case語句的值都不匹配時 默認執行default語句對應的語句塊
*注意:不是default語句不須要使用break關鍵字 而是default默認通常被編寫在最後
var result = '0'; switch (result) { case 0: console.log('這是數字0'); break; case 1: console.log('這是數字1'); break; default: console.log('以上結果無一知足'); }
循環語句是一系列反覆執行到符合特定條件的語句 爲了更好的理解循環語句 能夠將JavaScript代碼想象成一條條的分支路徑 循環語句就是代碼路徑中的一個迴路 可讓一段代碼重複執行
循環語句的執行流程以下:
1.執行語句塊
2.判斷條件的計算值是true仍是false
3.若是是true 則重複執行語句塊
4.若是是false 則繼續執行後面的代碼
while語句是一個基本循環語句 語法結構與if語句很相似
while語句的執行流程以下:
1.執行while語句的條件判斷是true仍是false
2.若是是true 執行語句塊 而後從新計算while語句的條件判斷是true仍是false
3.若是爲false 則跳過語句塊 繼續執行下面的代碼
4.while關鍵字後面的小括號不能被省略
5.while關鍵字後面的條件判斷的結果必須是布爾值 若是結果爲非布爾值的話 JavaScript會自動轉換爲布爾值
6.while語句中的大括號({})能夠省略 可是建議編寫 提升代碼閱讀性
while (條件表達式) { 語句塊 }
*必須經過一個變量值的改變 控制條件表達式的計算結果
*在循環的過程當中 至少有一次計算結果爲false - 結束循環
*若是沒有這樣的一個變量的話 - 循環叫作死循環
var result = 1; while (result <= 10) { console.log('這是while循環語句執行...'); result++;// 改變變量的值,至少有一次讓條件表達式計算的結果爲false } console.log('這是while循環語句執行完畢後...');
do...while語句的執行流程以下:
1.執行語句塊
2.執行while語句的條件判斷是true仍是false
3.若是是true 執行語句塊 而後從新計算while語句的條件判斷是true仍是false
4.若是爲false 繼續執行下面的代碼
var result = 0; /* do { 語句塊 } while (條件表達式); */ do { console.log(result); result++; } while (result <= 10);
var result = 0; // while語句 - 先判斷,再執行 while (result > 0) { console.log('while語句'); } // do...while語句 - 先執行,再判斷 do { console.log('do...while語句'); } while (result > 0);
for語句是一種最簡潔的循環語句 其中有三個重要部分:
1.初始化表達式:初始化一個計數器 在循環開始前計算初始狀態(用於初始化控制循環的變量)
2.條件判斷表達式:判斷給定的狀態是否爲true 若是條件爲true 則執行語句塊 不然跳出循環(用於判斷是否要結束循環)
3.循環操做表達式:改變循環條件 修改計數器的值(用於控制結束循環的節點)
注意:for語句的語法要求並不強制必須定義以上三個表達式
一旦省略三個表達式的話 表達式的分隔符必須存在
var v = 0; while (v < 10) { console.log(v); v++; } console.log(v); var v = 0; for (; v < 10; ) { console.log(v); v++ }
JavaScript中的另外一種語句就是跳轉語句 從名稱就能夠看出 它使得JavaScript代碼的執行能夠從一個位置到另外一個位置
跳轉語句只能用於循環執行結構 而不能用於條件判斷結構
注意:switch...case語句中使用的break,並非break的用法,而是switch語句的用法
跳轉語句提供了break和continue兩種 用於跳轉當前的循環或開始下一次的循環等
循環語句中的跳轉語句
break語句: 表示結束總體循環
continue語句: 表示結束本次循環
var result = 0; switch (result) { case 0: console.log(0); break; case 1: console.log(1); break; default: console.log(2); } if (true) { console.log('if語句...'); break; }
for (var i=0; i<9; i++) { if (i == 4) { continue; } console.log(i); }