摘要:語(yǔ)句語(yǔ)句的概述在中語(yǔ)句使用分號(hào)進(jìn)行分隔可以在一行編寫(xiě)一條語(yǔ)句也可以在一行編寫(xiě)多條語(yǔ)句語(yǔ)句分類(lèi)分別是條件語(yǔ)句就是根據(jù)一個(gè)值判斷是執(zhí)行還是跳過(guò)指定語(yǔ)句循環(huán)語(yǔ)句就是根據(jù)一個(gè)值判斷是否需要重復(fù)執(zhí)行指定語(yǔ)句跳轉(zhuǎn)語(yǔ)句就是跳轉(zhuǎn)到指定語(yǔ)句注意建議一行盡量只
語(yǔ)句 語(yǔ)句的概述
在JavaScript中,語(yǔ)句使用分號(hào)( ; )進(jìn)行分隔.
可以在一行編寫(xiě)一條語(yǔ)句,也可以在一行編寫(xiě)多條語(yǔ)句
語(yǔ)句分類(lèi)分別是:
條件語(yǔ)句: 就是根據(jù)一個(gè)值判斷是執(zhí)行還是跳過(guò)指定語(yǔ)句
循環(huán)語(yǔ)句: 就是根據(jù)一個(gè)值判斷是否需要重復(fù)執(zhí)行指定語(yǔ)句
跳轉(zhuǎn)語(yǔ)句: 就是跳轉(zhuǎn)到指定語(yǔ)句
注意:
建議一行盡量只編寫(xiě)一行語(yǔ)句 - 原因: 是便于提高代碼的閱讀性
JavaScript解釋器是按照語(yǔ)句的編寫(xiě)順序依次進(jìn)行執(zhí)行的
語(yǔ)句塊JavaScript中使用一對(duì)大括號(hào)( {} )表示一個(gè)語(yǔ)句塊
示例代碼:
if (v = "一花一世界") { console.log(""); }空語(yǔ)句
空語(yǔ)句就是不編寫(xiě)任何內(nèi)容,JavaScript解釋器不會(huì)做任何執(zhí)行操作
注意: 如果有需要用空語(yǔ)句的地方最好添加注釋
示例代碼:
;// 表示空語(yǔ)句條件語(yǔ)句
條件語(yǔ)句就是通過(guò)判斷指定的計(jì)算結(jié)果來(lái)決定是執(zhí)行還是跳過(guò)指定語(yǔ)句塊
if語(yǔ)句
語(yǔ)法:
if (條件表達(dá)式) {
語(yǔ)句塊 - 當(dāng)條件表達(dá)式計(jì)算結(jié)果為true時(shí)才執(zhí)行
}
條件表達(dá)式:
作用 - 控制是否執(zhí)行指定的語(yǔ)句塊
結(jié)果 - 一般為Boolean類(lèi)型的值(true | false)
問(wèn)題 - 如果條件表達(dá)式計(jì)算的結(jié)果不是Boolean類(lèi)型
將結(jié)果強(qiáng)行轉(zhuǎn)換為Boolean類(lèi)型,再進(jìn)行判斷
示例代碼:
var result = true;// boolean類(lèi)型值 if (result) { console.log("這是if語(yǔ)句執(zhí)行的語(yǔ)句塊..."); } if (1 && 0) { console.log("這是if語(yǔ)句執(zhí)行的語(yǔ)句塊..."); } var v;/* 定義變量,但不初始化 */ if (v = "一花一世界") {/* 將變量的初始化操作,放置在條件表達(dá)式中 */ console.log("這是if語(yǔ)句執(zhí)行的語(yǔ)句塊..."); } // 等價(jià)于以下寫(xiě)法 v = "一花一世界";/* 變量的初始化操作 */ if (v) { console.log("這是if語(yǔ)句執(zhí)行的語(yǔ)句塊..."); } console.log("這是if語(yǔ)句執(zhí)行完畢后的內(nèi)容...");
if語(yǔ)句執(zhí)行流程圖:
if...else語(yǔ)句是提供兩個(gè)語(yǔ)句塊進(jìn)行判斷如果是true就執(zhí)行if,如果是false就執(zhí)行else.
語(yǔ)法:
if...else語(yǔ)句
if (條件表達(dá)式) {
語(yǔ)句塊一
} else {
語(yǔ)句塊二 }
示例代碼:
var result = false; if (result) { console.log("這是語(yǔ)句塊一..."); } else { console.log("這是語(yǔ)句塊二..."); } console.log("這是if語(yǔ)句執(zhí)行完畢后的內(nèi)容...");
if...else語(yǔ)句執(zhí)行圖:
對(duì)應(yīng)的語(yǔ)句塊的大括號(hào)"{}" - 允許被省略的
前提 - 當(dāng)前語(yǔ)句塊中只存在一條語(yǔ)句時(shí)
省略大括號(hào)"{}"時(shí),JavaScript默認(rèn)認(rèn)為后面的第一條語(yǔ)句是被控制的語(yǔ)句塊內(nèi)容
所以不建議省略,建議按照語(yǔ)法規(guī)則編寫(xiě)
示例代碼:
if (result) console.log("這是if語(yǔ)句執(zhí)行的語(yǔ)句塊1..."); console.log("這是if語(yǔ)句執(zhí)行的語(yǔ)句塊2..."); console.log("這是if語(yǔ)句執(zhí)行的語(yǔ)句塊3..."); console.log("這是if語(yǔ)句執(zhí)行完畢后的內(nèi)容...");
控制臺(tái)調(diào)用結(jié)果對(duì)比圖:
if...else語(yǔ)句支持嵌套,就是說(shuō)可以在if或else后的語(yǔ)句塊中繼續(xù)編寫(xiě)if...else語(yǔ)句來(lái)進(jìn)行跟多個(gè)判斷
注意: 不建議嵌套三個(gè)以上 - 原因會(huì)影響性能
示例代碼:
var score = 81; if (score > 90) { console.log("優(yōu)秀"); } else { if (score > 80) { console.log("良好"); } else { console.log("及格"); } }
/ 變量聲明 - 并初始化值 /
var score = 81;
/ 條件表達(dá)式 /
if (score > 90) {
/* 調(diào)用輸出 */ console.log("優(yōu)秀");
} else {
/* 條件表達(dá)式 */ if (score > 80) { /* 調(diào)用輸出 */ console.log("良好"); } else { /* 調(diào)用輸出 */ console.log("及格"); }
}
else if語(yǔ)句else if語(yǔ)句時(shí)在if語(yǔ)句基礎(chǔ)上,允許提供多個(gè)條件判斷
else if語(yǔ)句優(yōu)化了if...else語(yǔ)句的嵌套寫(xiě)法 - 性能較好
示例代碼:
/* 變量聲明 - 并初始化值 */ var score = 65; if (score > 90) { console.log("優(yōu)秀"); } else if (score > 80) { console.log("良好"); } else { console.log("及格"); }
if...else語(yǔ)句與else if語(yǔ)句對(duì)比效果圖:
switch...case語(yǔ)句又稱(chēng)枚舉 - 將計(jì)算結(jié)果可能的值盡量的羅列完整
語(yǔ)法:
switch (條件表達(dá)式) {
case 值一: 語(yǔ)句塊一 case 值二: 語(yǔ)句塊二 ... ... default: 語(yǔ)句塊N
條件表達(dá)式 - 不一定是Boolean類(lèi)型,計(jì)算結(jié)果分別與case語(yǔ)句的值進(jìn)行比較
條件表達(dá)式計(jì)算結(jié)果與case語(yǔ)句的值是全等比較(既要比較值,也要比較類(lèi)型)
case語(yǔ)句 - 羅列可能的匹配值
對(duì)應(yīng)的語(yǔ)句塊最后添加 break 關(guān)鍵字 - 當(dāng)執(zhí)行對(duì)應(yīng)的語(yǔ)句塊之后,停止繼續(xù)執(zhí)行
default語(yǔ)句 - 類(lèi)似于if...else語(yǔ)句中的else語(yǔ)句
當(dāng)以上所有case語(yǔ)句的值都不匹配時(shí),默認(rèn)執(zhí)行default語(yǔ)句對(duì)應(yīng)的語(yǔ)句塊
注意 - 不是default語(yǔ)句不需要使用break關(guān)鍵字,而是default默認(rèn)一般被編寫(xiě)在最后
示例代碼:
var result = "0"; switch (result) { case 0: console.log("這是數(shù)字0"); break; case 1: console.log("這是數(shù)字1"); break; default: console.log("以上結(jié)果無(wú)一滿(mǎn)足"); }
switch...case語(yǔ)句代碼分析圖:
switch...case語(yǔ)句執(zhí)行流程圖:
循環(huán)語(yǔ)句就是重復(fù)執(zhí)行特定的語(yǔ)句達(dá)到循環(huán)效果
while語(yǔ)句語(yǔ)法:
while (條件表達(dá)式) {
語(yǔ)句塊
}
注意: 必須通過(guò)一個(gè)變量值的改變,控制條件表達(dá)式的計(jì)算結(jié)果
在循環(huán)的過(guò)程中,至少有一次計(jì)算結(jié)果為false -> 結(jié)束循環(huán)
如果沒(méi)有這樣的一個(gè)變量的話(huà) -> 循環(huán)叫做死循環(huán)
示例代碼:
/* 變量聲明并賦值 */ var result = 1; /* 條件表達(dá)式 */ while (result <= 10) { console.log("這是while循環(huán)語(yǔ)句執(zhí)行..."); /* 利用自增停止循環(huán)效果 */ result++;// 改變變量的值,至少有一次讓條件表達(dá)式計(jì)算的結(jié)果為false } console.log("這是while循環(huán)語(yǔ)句執(zhí)行完畢后...");
控制臺(tái)效果圖:
while語(yǔ)句的執(zhí)行流程圖:
語(yǔ)法:
do {
語(yǔ)句塊
} while (條件表達(dá)式);
注意:
while關(guān)鍵字后面的小括號(hào)"( )"不能省略
while關(guān)鍵字后面的條件判斷的結(jié)果必須是布爾值,如果不是JavaScript會(huì)自動(dòng)轉(zhuǎn)換成布爾值
while語(yǔ)句中的大括號(hào)"{ }"可以省略,但是不建議省略,以便提高代碼的閱讀性
示例代碼:
/* 變量聲明并賦值 */ var result = 0; do { console.log(result); /* 利用自增結(jié)束循環(huán) */ result++; /* 條件表達(dá)式 */ } while (result <= 10);
備注: while語(yǔ)句與do...while語(yǔ)句的區(qū)別
while語(yǔ)句 - 是先判斷,再執(zhí)行
do...while語(yǔ)句 - 是先執(zhí)行,再判斷
for語(yǔ)句for語(yǔ)句時(shí)一種簡(jiǎn)潔的循環(huán)語(yǔ)句,其中包括三個(gè)重要的部分
初始化表達(dá)式 - 用于初始化控制循環(huán)的變量
條件判斷表達(dá)式 - 用于判斷是否要結(jié)束循環(huán)
循環(huán)控制表達(dá)式 - 用于控制結(jié)束循環(huán)的節(jié)點(diǎn)
注意:
for語(yǔ)句的語(yǔ)法要求并不強(qiáng)制必須定義以上三個(gè)表達(dá)式
一旦省略三個(gè)表達(dá)式的話(huà),表達(dá)式的分隔符必須存在
語(yǔ)法:
for (初始化表達(dá)式; 條件判斷表達(dá)式; 循環(huán)控制表達(dá)式) {
語(yǔ)句塊
}
示例代碼:
/* 變量聲明并初始化值 */ var v = 0; for (var v = 0; v < 10; v++) { console.log(v); }
控制臺(tái)調(diào)用結(jié)果圖:
while語(yǔ)句與for語(yǔ)句對(duì)比圖:
作用 - JavaScript代碼從指定位置跳轉(zhuǎn)到另一個(gè)指定的位置
場(chǎng)景 - 跳轉(zhuǎn)語(yǔ)句只能用于循環(huán)執(zhí)行結(jié)構(gòu),而不能用于條件判斷結(jié)構(gòu)
注意 - switch...case語(yǔ)句中使用的break,并不是break的用法,而是switch語(yǔ)句的用法
break語(yǔ)句表示結(jié)束整體循環(huán)
示例代碼:
for (var i=0; i<9; i++) { if (i == 4) { break; } console.log(i); }
調(diào)用臺(tái)效果圖:
表示結(jié)束本次循環(huán)
示例代碼:
for (var i=0; i<9; i++) { if (i == 4) { continue; } console.log(i); }
控制臺(tái)效果圖:
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/96758.html
摘要:錯(cuò)誤與異常錯(cuò)誤與異常概念所謂錯(cuò)誤就是錯(cuò)誤就是程序中不正常的運(yùn)行狀態(tài)在其他編程語(yǔ)言中稱(chēng)為異?;蝈e(cuò)誤解釋器會(huì)為每個(gè)錯(cuò)誤情況創(chuàng)建并且拋出一個(gè)對(duì)象對(duì)象包含錯(cuò)誤的描述信息語(yǔ)句語(yǔ)句作用用于捕獲和處理代碼中的錯(cuò)誤語(yǔ)句作用用于處理語(yǔ)句中出現(xiàn)的錯(cuò)誤語(yǔ)句 錯(cuò)誤與異常 錯(cuò)誤與異常概念 所謂錯(cuò)誤就是錯(cuò)誤就是程序中不正常的運(yùn)行狀態(tài) 在其他編程語(yǔ)言中稱(chēng)為異常或錯(cuò)誤 解釋器會(huì)為每個(gè)錯(cuò)誤情況創(chuàng)建并且拋出一個(gè)Erro...
摘要:函數(shù)函數(shù)的概述所謂函數(shù)就是只被定義一次但可能被執(zhí)行或調(diào)用多次變量與函數(shù)的區(qū)別變量存的是數(shù)據(jù)內(nèi)容而函數(shù)存的是語(yǔ)句塊定義函數(shù)備注定義函數(shù)時(shí)函數(shù)體的內(nèi)容不會(huì)被執(zhí)行調(diào)用函數(shù)時(shí)函數(shù)體才被執(zhí)行注意一般以個(gè)函數(shù)就去完成一個(gè)功能函數(shù)聲明方式語(yǔ)法函數(shù)名稱(chēng) 函數(shù) 函數(shù)的概述 所謂函數(shù)就是只被定義一次,但可能被執(zhí)行或調(diào)用多次 變量與函數(shù)的區(qū)別: 變量存的是數(shù)據(jù)內(nèi)容而函數(shù)存的是語(yǔ)句塊 定義函數(shù) 備注: ...
摘要:數(shù)組數(shù)組的概念所謂數(shù)組就是用來(lái)存儲(chǔ)多個(gè)值的容器數(shù)組中的每一個(gè)值叫元素每個(gè)元素都有唯一的一個(gè)位置用數(shù)字表示的叫做索引數(shù)組用字符串表示叫關(guān)聯(lián)數(shù)組備注數(shù)組是無(wú)類(lèi)型的沒(méi)有特定類(lèi)型要求就是存啥都行注意數(shù)組是動(dòng)態(tài)的就是根據(jù)需要可以插入新的東西也可以刪 數(shù)組 數(shù)組的概念 所謂數(shù)組就是 - 用來(lái)存儲(chǔ)多個(gè)值的容器,數(shù)組中的每一個(gè)值叫元素,每個(gè)元素都有唯一的一個(gè)位置,用數(shù)字表示的叫做索引數(shù)組,用字符串表...
摘要:類(lèi)型與函數(shù)的概念函數(shù)這樣的一段代碼它只定義一次但是可能被執(zhí)行或調(diào)用多次類(lèi)型是提供的引用類(lèi)型之一通過(guò)類(lèi)型創(chuàng)建對(duì)象在中函數(shù)也是對(duì)象的形式存在注意每個(gè)函數(shù)都是以個(gè)對(duì)象與函數(shù)函數(shù)聲明方式示例代碼一笑一人生字面量方式示例代碼一花一世界判斷函數(shù)是否為類(lèi) Function類(lèi)型 Function與函數(shù)的概念 函數(shù)這樣的一段JavaScript代碼,它只定義一次,但是可能被執(zhí)行或調(diào)用多次 Functi...
摘要:在嚴(yán)格模式中,當(dāng)運(yùn)算符后跟隨非法的標(biāo)識(shí)符比如變量函數(shù)函數(shù)參數(shù)時(shí),將會(huì)拋出一個(gè)語(yǔ)法錯(cuò)誤異常在非嚴(yán)格模式中,這種表達(dá)式什么也沒(méi)做,并返回。 JavaScript之use strict use strict是ECMAScript 5引入的一條指令。指令不是語(yǔ)句(但非常接近于語(yǔ)句)。usestrict指令和普通的語(yǔ)句之間有兩個(gè)重要的區(qū)別: 它不包含任何語(yǔ)言的關(guān)鍵字,指令僅僅是一個(gè)包含一個(gè)特殊...
閱讀 2801·2021-11-18 10:02
閱讀 3522·2021-09-22 15:50
閱讀 2425·2021-09-06 15:02
閱讀 3640·2019-08-29 16:34
閱讀 1808·2019-08-29 13:49
閱讀 1341·2019-08-29 13:29
閱讀 3739·2019-08-28 18:08
閱讀 3057·2019-08-26 11:52