JavaScript程序中的流程控制語(yǔ)句用法總結(jié)
條件判斷語(yǔ)句
1.if語(yǔ)句
if (condition) statement1 else statement2
其中的condition條件可以是任意表達(dá)式,而且對(duì)這個(gè)表達(dá)式的求值結(jié)果不一定是布爾值。ECMAScript會(huì)自動(dòng)調(diào)用Boolean()轉(zhuǎn)換函數(shù)將這個(gè)表達(dá)式的結(jié)果轉(zhuǎn)換為一個(gè)布爾值。如果對(duì)condition求值的結(jié)果為true,則執(zhí)行statement1,如果對(duì)condition求值結(jié)果為false,則執(zhí)行statement2。這兩個(gè)語(yǔ)句既可以是一行代碼,也可以是一個(gè)代碼塊(推薦)。
if (condition1) statement1 else if(condition2) statement2 else statement3
2.switch語(yǔ)句
switch(expression) { case value: statement break; case value: statement break; case value: statement break; default: statement }
switch語(yǔ)句中每一個(gè)case的含義是:"如果表達(dá)式等于這個(gè)值value,則執(zhí)行后面的語(yǔ)句statement"。而break會(huì)導(dǎo)致代碼執(zhí)行跳出switch語(yǔ)句。如果省略break關(guān)鍵字,就會(huì)導(dǎo)致執(zhí)行完當(dāng)前case后,繼續(xù)執(zhí)行下一個(gè)case。最后的default關(guān)鍵字則用于在表達(dá)式不匹配前面任何一種情形時(shí),執(zhí)行機(jī)動(dòng)代碼(因此,也相當(dāng)于一個(gè)else語(yǔ)句)。
例子1
var num = 25; switch (true) { case num < 0: alert("Less than 0"); break; case num >= 0 && num <= 10: alert("Between 0 and 10"); break; case num > 10 && num <= 20: alert("Between 10 and 20"); break; default: alert("More than 20"); }
注意:switch語(yǔ)句在比較值時(shí)使用的是全等操作符,因此不會(huì)發(fā)生類(lèi)型轉(zhuǎn)換。
循環(huán)語(yǔ)句
后測(cè)試循環(huán)語(yǔ)句。
在對(duì)表達(dá)式求值之前,循環(huán)體內(nèi)的代碼至少被執(zhí)行一次。
1.do-while語(yǔ)句
do { statement } while (expression);
例子2
var i = 0; do { i += 2; } while (i < 10); alert(i);//10
前測(cè)試循環(huán)語(yǔ)句
2.while語(yǔ)句
while(expression) statement
例子3
var i = 0; while(i < 10) { i += 2; } alert(i);//10
3.for語(yǔ)句
它具有在執(zhí)行循環(huán)之前初始化變量和定義循環(huán)后要執(zhí)行代碼的能力。
例子4
for(var i = 0;i < 10;i++) { alert(i); }
迭代語(yǔ)句
for-in語(yǔ)句
for-in 語(yǔ)句是一種精準(zhǔn)的迭代語(yǔ)句,可以用來(lái)枚舉對(duì)象的屬性
for (var prop in window) { console.log(prop); }
ECMAScript對(duì)象的屬性沒(méi)有順序。因此通過(guò)for-in循環(huán)輸出的屬性名是不可預(yù)測(cè)的,具體來(lái)講,所有屬性都會(huì)被返回一次,單反毀的先后次序可能會(huì)因?yàn)g覽器而異。建議在使用之前,先檢測(cè)確認(rèn)該對(duì)象的值不是null或unedfined。
控制執(zhí)行語(yǔ)句
break語(yǔ)句
立即退出循環(huán)
例子5
var num = 0; for(var i = 1;i < 10;i++) { if(i % 5 == 0) { break; } num++; } alert(num);//4
continue語(yǔ)句
退出當(dāng)前正在執(zhí)行的循環(huán)代碼,然后開(kāi)始繼續(xù)循環(huán)。
var num = 0; for(var i = 1;i < 10;i++) { if(i % 5 == 0) { continue; } num++; } alert(num);//8
return語(yǔ)句
可指定返回值,也可不指定(此時(shí)返回undefined)。
1.return語(yǔ)句后停止并立即退出函數(shù),return后面的語(yǔ)句也永遠(yuǎn)不會(huì)執(zhí)行
2.return語(yǔ)句只能在函數(shù)體內(nèi)出現(xiàn),如果不是的話會(huì)自動(dòng)報(bào)語(yǔ)法錯(cuò)誤
相關(guān)文章
Javascript全局變量var與不var的區(qū)別深入解析
這篇文章主要介紹了Javascript全局變量var與不var的區(qū)別。需要的朋友可以過(guò)來(lái)參考下,希望對(duì)大家有所幫助2013-12-12javascript中的throttle和debounce淺析
這篇文章主要介紹了javascript中的throttle和debounce淺析,分別介紹了throttle和debounce的使用場(chǎng)景及具體案例,需要的朋友可以參考下2014-06-06JavaScript中instanceof運(yùn)算符的使用示例
這篇文章主要介紹了JavaScript中instanceof運(yùn)算符的使用示例,instanceof的使用是JavaScript入門(mén)學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下2016-06-06JS特殊函數(shù)(Function()構(gòu)造函數(shù)、函數(shù)直接量)區(qū)別介紹
函數(shù)是由這樣的方式進(jìn)行聲明的:關(guān)鍵字 function、函數(shù)名、一組參數(shù),以及置于括號(hào)中的待執(zhí)行代碼;Function()構(gòu)造函數(shù)實(shí)際上是功能完整的對(duì)象2013-05-05node.js入門(mén)教程迷你書(shū)、node.js入門(mén)web應(yīng)用開(kāi)發(fā)完全示例
本書(shū)致力于教會(huì)你如何用Node.js來(lái)開(kāi)發(fā)應(yīng)用,過(guò)程中會(huì)傳授你所有所需的“高級(jí)”JavaScript知識(shí)。本書(shū)絕不是一本“Hello World”的教程。2014-04-04薦書(shū)|您有一份JavaScript書(shū)單待簽收
​學(xué)習(xí)是一個(gè)持續(xù)不斷的過(guò)程,在互聯(lián)網(wǎng)技術(shù)里暢游的程序員們,對(duì)學(xué)習(xí)的渴望更是難以窮盡,下面這篇文章主要給大家分享了關(guān)于Javascript相關(guān)的書(shū)籍,對(duì)大家學(xué)習(xí)Javascript具有一定的參考學(xué)習(xí)價(jià)值,下面來(lái)一起看看吧。2017-07-07JavaScript中Function()函數(shù)的使用教程
這篇文章主要介紹了JavaScipt中Function()函數(shù)的使用教程,是JavaScipt入門(mén)學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下2015-06-06Javascript學(xué)習(xí)筆記之 函數(shù)篇(一) : 函數(shù)聲明和函數(shù)表達(dá)式
function 是 Javascript 中的第一類(lèi)對(duì)象,這就意味著函數(shù)可以像其他值一樣被傳遞。一個(gè)最常見(jiàn)的用法就是將一個(gè)匿名函數(shù)作為回調(diào)函數(shù)傳遞到另外一個(gè)異步函數(shù)中。2014-06-06使用Math.floor與Math.random取隨機(jī)整數(shù)的方法詳解
本篇文章對(duì)使用Math.floor與Math.random取隨機(jī)整數(shù)的方法進(jìn)行了詳細(xì)的分析介紹。需要的朋友參考下2013-05-05