摘要:語句語句概述在中語句使用分號(hào)進(jìn)行分隔可以在每行編寫一條語句也可以在每行編寫多條語句語句塊中使用一堆花括號(hào)表示一個(gè)語句塊使用語句塊為語句進(jìn)行分組這樣使語句的結(jié)構(gòu)清晰明了空語句空語句允許包含條語句解釋器執(zhí)行空語句時(shí)不會(huì)執(zhí)行任何動(dòng)作流程控制語句解
語句 語句概述
在JavaScript中 語句使用分號(hào)(;)進(jìn)行分隔 可以在每行編寫一條語句 也可以在每行編寫多條語句
語句塊
JavaScript中使用一堆花括號(hào)({})表示一個(gè)語句塊 使用語句塊為語句進(jìn)行分組 這樣使語句的結(jié)構(gòu)清晰明了
空語句
空語句允許包含0條語句 JavaScript解釋器執(zhí)行空語句時(shí) 不會(huì)執(zhí)行任何動(dòng)作
流程控制語句
JavaScript解釋器按照語句的編寫順序依次執(zhí)行 但也可以編寫一些復(fù)雜的語句塊 分為 順序執(zhí)行 選擇執(zhí)行 循環(huán)執(zhí)行
條件語句是什么
條件語句就是指通過判斷指定的計(jì)算結(jié)果 來絕對(duì)是執(zhí)行還是跳過指定的語句塊
如果說JavaScript解釋器是按照代碼的"路徑"執(zhí)行的話 那條件語句就是這條路上的分叉點(diǎn) 代碼執(zhí)行到這里時(shí)必須選擇其中一條路徑繼續(xù)執(zhí)行
JavaScript提供了兩種條件語句:if...else語句和switch...case語句
1.if語句是條件判斷語句 也是最基本的流程控制語句
2.if關(guān)鍵字后面的小括號(hào)不能被省略
3.if關(guān)鍵字后面的條件判斷的結(jié)果必須是布爾值 如果結(jié)果為非布爾值的話 JavaScript會(huì)自動(dòng)轉(zhuǎn)換為布爾值
4.if語句中的大括號(hào)({})可以省略 但是建議編寫 提高代碼閱讀性
if (條件表達(dá)式){ 語句塊 當(dāng)條件表達(dá)計(jì)算結(jié)果為true時(shí)才執(zhí)行 }
條件表達(dá)式:
*作用 控制是否執(zhí)行指定的語句塊
*結(jié)果 一般為Boolean類型的值(true|false)
*問題 如果條件表達(dá)式計(jì)算的結(jié)果不是Boolean類型
*將結(jié)果強(qiáng)行轉(zhuǎn)換為Boolean類型 再進(jìn)行判斷
var result = true;// boolean類型值 var v;/* 定義變量,但不初始化 */ /*if (v = "臥龍學(xué)苑") {/!* 將變量的初始化操作,放置在條件表達(dá)式中 *!/ console.log("這是if語句執(zhí)行的語句塊..."); }*/ // 等價(jià)于以下寫法 v = "臥龍學(xué)苑";/* 變量的初始化操作 */ if (v) { console.log("這是if語句執(zhí)行的語句塊..."); } console.log("這是if語句執(zhí)行完畢后的內(nèi)容...");if...else語句
if...else語句語句是條件判斷語句 但是與if語句的執(zhí)行流程并不同
if...else語句的執(zhí)行流程:
1.判斷條件的結(jié)果是true還是false
2.當(dāng)結(jié)果為true時(shí) 執(zhí)行下面的語句塊1
3.當(dāng)結(jié)果為false時(shí) 執(zhí)行下面的語句塊2
4.繼續(xù)執(zhí)行語句塊3
var result = false; /* if...else語句 if (條件表達(dá)式) { 語句塊一 } else { 語句塊二 } */ if (result) { console.log("這是語句塊一..."); } else { console.log("這是語句塊二..."); } console.log("這是if語句執(zhí)行完畢后的內(nèi)容...");
if語句的注意事項(xiàng)
if語句與if...else語句
1.對(duì)應(yīng)的語句塊的大括號(hào)"{}" 允許被省略的
2.前提:當(dāng)前語句塊中只存在一條語句時(shí)
3.省略大括號(hào)"{}"時(shí) JavaScript默認(rèn)認(rèn)為后面的第一條語句是被控制的語句塊內(nèi)容
4.結(jié)論:建議按照語法規(guī)則編寫
if...else語句嵌套
if...else語句支持嵌套寫法 也就是說 可以在if或else后面的語句塊中據(jù)需偏斜if...else語句
var score = 65; if (score > 90) { console.log("優(yōu)秀"); } else { if (score > 80) { console.log("良好"); } else { console.log("及格"); } }else...if語句
1.else...if語句是在if語句的基礎(chǔ)上 允許提供多個(gè)條件判斷
2.else...if語句實(shí)際上就是簡(jiǎn)化版的if...else語句的嵌套寫法
var score = 65; if (score > 90) { console.log("優(yōu)秀"); } else { if (score > 80) { console.log("良好"); } else { console.log("及格"); } } /* if (條件表達(dá)式一) { 語句塊一 } else if (條件表達(dá)式二) { 語句塊二 } else { 語句塊三 } * else if語句沒有任何限制 */ if (score > 90) { console.log("優(yōu)秀"); } else if (score > 80) { console.log("良好"); } else { console.log("及格"); }switch...case語句
1.switch...case語句是開關(guān)語句 但整體執(zhí)行流程要比if...else語句復(fù)雜的多
2.實(shí)際開發(fā)中 switch...case語句與break語句同時(shí)使用
枚舉 將計(jì)算結(jié)果可能的值盡量的羅列完整
switch (條件表達(dá)式) { case 值一: 語句塊一 case 值二: 語句塊二 ... ... default: 語句塊N }
*條件表達(dá)式 不一定是Boolean類型 計(jì)算結(jié)果分別與case語句的值進(jìn)行比較
*條件表達(dá)式計(jì)算結(jié)果與case語句的值是全等比較(既要比較值 也要比較類型)
*case語句 羅列可能的匹配值
*對(duì)應(yīng)的語句塊最后添加 break 關(guān)鍵字 當(dāng)執(zhí)行對(duì)應(yīng)的語句塊之后 停止繼續(xù)執(zhí)行
*default語句 類似于if...else語句中的else語句
*當(dāng)以上所有case語句的值都不匹配時(shí) 默認(rèn)執(zhí)行default語句對(duì)應(yīng)的語句塊
*注意:不是default語句不需要使用break關(guān)鍵字 而是default默認(rèn)一般被編寫在最后
var result = "0"; switch (result) { case 0: console.log("這是數(shù)字0"); break; case 1: console.log("這是數(shù)字1"); break; default: console.log("以上結(jié)果無一滿足"); }循環(huán)語句
循環(huán)語句是一系列反復(fù)執(zhí)行到符合特定條件的語句 為了更好的理解循環(huán)語句 可以將JavaScript代碼想象成一條條的分支路徑 循環(huán)語句就是代碼路徑中的一個(gè)回路 可以讓一段代碼重復(fù)執(zhí)行
循環(huán)語句的執(zhí)行流程如下:
1.執(zhí)行語句塊
2.判斷條件的計(jì)算值是true還是false
3.如果是true 則重復(fù)執(zhí)行語句塊
4.如果是false 則繼續(xù)執(zhí)行后面的代碼
while語句
while語句是一個(gè)基本循環(huán)語句 語法結(jié)構(gòu)與if語句很類似
while語句的執(zhí)行流程如下:
1.執(zhí)行while語句的條件判斷是true還是false
2.如果是true 執(zhí)行語句塊 然后重新計(jì)算while語句的條件判斷是true還是false
3.如果為false 則跳過語句塊 繼續(xù)執(zhí)行下面的代碼
4.while關(guān)鍵字后面的小括號(hào)不能被省略
5.while關(guān)鍵字后面的條件判斷的結(jié)果必須是布爾值 如果結(jié)果為非布爾值的話 JavaScript會(huì)自動(dòng)轉(zhuǎn)換為布爾值
6.while語句中的大括號(hào)({})可以省略 但是建議編寫 提高代碼閱讀性
while (條件表達(dá)式) { 語句塊 }
*必須通過一個(gè)變量值的改變 控制條件表達(dá)式的計(jì)算結(jié)果
*在循環(huán)的過程中 至少有一次計(jì)算結(jié)果為false - 結(jié)束循環(huán)
*如果沒有這樣的一個(gè)變量的話 - 循環(huán)叫做死循環(huán)
var result = 1; while (result <= 10) { console.log("這是while循環(huán)語句執(zhí)行..."); result++;// 改變變量的值,至少有一次讓條件表達(dá)式計(jì)算的結(jié)果為false } console.log("這是while循環(huán)語句執(zhí)行完畢后...");
do...while語句
do...while語句也是一個(gè)基本循環(huán)語句 執(zhí)行流程與while語句很類似
do...while語句的執(zhí)行流程如下:
1.執(zhí)行語句塊
2.執(zhí)行while語句的條件判斷是true還是false
3.如果是true 執(zhí)行語句塊 然后重新計(jì)算while語句的條件判斷是true還是false
4.如果為false 繼續(xù)執(zhí)行下面的代碼
var result = 0; /* do { 語句塊 } while (條件表達(dá)式); */ do { console.log(result); result++; } while (result <= 10);
while與do...while語句的區(qū)別
var result = 0; // while語句 - 先判斷,再執(zhí)行 while (result > 0) { console.log("while語句"); } // do...while語句 - 先執(zhí)行,再判斷 do { console.log("do...while語句"); } while (result > 0);
for語句
for語句是一種最簡(jiǎn)潔的循環(huán)語句 其中有三個(gè)重要部分:
1.初始化表達(dá)式:初始化一個(gè)計(jì)數(shù)器 在循環(huán)開始前計(jì)算初始狀態(tài)(用于初始化控制循環(huán)的變量)
2.條件判斷表達(dá)式:判斷給定的狀態(tài)是否為true 如果條件為true 則執(zhí)行語句塊 否則跳出循環(huán)(用于判斷是否要結(jié)束循環(huán))
3.循環(huán)操作表達(dá)式:改變循環(huán)條件 修改計(jì)數(shù)器的值(用于控制結(jié)束循環(huán)的節(jié)點(diǎn))
注意:for語句的語法要求并不強(qiáng)制必須定義以上三個(gè)表達(dá)式
一旦省略三個(gè)表達(dá)式的話 表達(dá)式的分隔符必須存在
var v = 0; while (v < 10) { console.log(v); v++; } console.log(v); var v = 0; for (; v < 10; ) { console.log(v); v++ }跳轉(zhuǎn)語句
跳轉(zhuǎn)語句概述
JavaScript中的另一種語句就是跳轉(zhuǎn)語句 從名稱就可以看出 它使得JavaScript代碼的執(zhí)行可以從一個(gè)位置到另一個(gè)位置
跳轉(zhuǎn)語句只能用于循環(huán)執(zhí)行結(jié)構(gòu) 而不能用于條件判斷結(jié)構(gòu)
注意:switch...case語句中使用的break,并不是break的用法,而是switch語句的用法
跳轉(zhuǎn)語句提供了break和continue兩種 用于跳轉(zhuǎn)當(dāng)前的循環(huán)或開始下一次的循環(huán)等
break和continue語句
循環(huán)語句中的跳轉(zhuǎn)語句
break語句: 表示結(jié)束整體循環(huán)
continue語句: 表示結(jié)束本次循環(huán)
break語句
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; }
continue語句
for (var i=0; i<9; i++) { if (i == 4) { continue; } console.log(i); }
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/96736.html
摘要:邏輯非操作符只能作用于單個(gè)邏輯操作數(shù),其結(jié)果是把那個(gè)邏輯操作數(shù)所返回的布爾值取反。如果那個(gè)邏輯操作數(shù)所返回的布爾值是,邏輯非操作符將把它取反為為了避免產(chǎn)生歧義,上面這條語句把邏輯操作數(shù)放在了括號(hào)里,使邏輯非操作符作用于括號(hào)里的所有內(nèi)容。 算術(shù)操作符 加減乘除這些算術(shù)操作中的每一種都必須借助于相應(yīng)的操作符才能完成。操作符是JavaScript為完成各種操作而定義的一些符號(hào)。等號(hào)(=)、加...
摘要:邏輯非操作符只能作用于單個(gè)邏輯操作數(shù),其結(jié)果是把那個(gè)邏輯操作數(shù)所返回的布爾值取反。如果那個(gè)邏輯操作數(shù)所返回的布爾值是,邏輯非操作符將把它取反為為了避免產(chǎn)生歧義,上面這條語句把邏輯操作數(shù)放在了括號(hào)里,使邏輯非操作符作用于括號(hào)里的所有內(nèi)容。 算術(shù)操作符 加減乘除這些算術(shù)操作中的每一種都必須借助于相應(yīng)的操作符才能完成。操作符是JavaScript為完成各種操作而定義的一些符號(hào)。等號(hào)(=)、加...
摘要:邏輯非操作符只能作用于單個(gè)邏輯操作數(shù),其結(jié)果是把那個(gè)邏輯操作數(shù)所返回的布爾值取反。如果那個(gè)邏輯操作數(shù)所返回的布爾值是,邏輯非操作符將把它取反為為了避免產(chǎn)生歧義,上面這條語句把邏輯操作數(shù)放在了括號(hào)里,使邏輯非操作符作用于括號(hào)里的所有內(nèi)容。 算術(shù)操作符 加減乘除這些算術(shù)操作中的每一種都必須借助于相應(yīng)的操作符才能完成。操作符是JavaScript為完成各種操作而定義的一些符號(hào)。等號(hào)(=)、加...
摘要:前言基本上,我們每天都在和中的各種語句進(jìn)行著溝通,那些我們經(jīng)常見面的老朋友,或者是未曾見面的新朋友,它們共同維護(hù)著的流程,讓我們的程序穩(wěn)步運(yùn)行。 前言 基本上,我們每天都在和 JavaScript 中的各種語句進(jìn)行著 溝通 ,那些我們經(jīng)常見面的 老朋友,或者是未曾見面的 新朋友 ,它們共同維護(hù)著 JavaScript 的流程,讓我們的程序穩(wěn)步運(yùn)行。那么,你是否對(duì)它們足夠了解呢 如果文章...
摘要:語法利弊使用得當(dāng)可規(guī)避重復(fù)而冗長(zhǎng)的對(duì)象引用以減小代碼量。使用語句,在某些語義不明的情況下會(huì)降低代碼可讀性。在標(biāo)準(zhǔn)中,是對(duì)象原型的新屬性。使用利用了語句延長(zhǎng)作用域鏈的特性,最基本的使用方法。目前多使用臨時(shí)變量方案替代語句以簡(jiǎn)化代碼。 語法 with (expression) statement 利弊 使用得當(dāng)可規(guī)避重復(fù)而冗長(zhǎng)的對(duì)象引用以減小代碼量。 var a, x, y; var ...
閱讀 3226·2021-11-10 11:36
閱讀 3389·2021-10-13 09:40
閱讀 6603·2021-09-26 09:46
閱讀 735·2019-08-30 15:55
閱讀 1475·2019-08-30 15:53
閱讀 1652·2019-08-29 13:55
閱讀 3060·2019-08-29 12:46
閱讀 3292·2019-08-29 12:34