JavaScript基礎(chǔ)之流程控制語句的用法
第三部分:流程控制語句
JavaScript代碼是書寫位置:
JavaScript代碼應(yīng)該寫在<script type=”text/javascript”></script>這一對標(biāo)記中。
或者作為外部引用<script src="JavaScript代碼路徑"></script>
JavaScript的每一句代碼請用分號作為結(jié)束。
輸出語句
1、控制臺輸出:console.log();
它可以在控制臺中輸出一些信息,輸出的信息就是console.log()中圓括號的內(nèi)容。
在調(diào)試程序的時候回經(jīng)常用這個語句。
2、彈出框輸出:
alert();
使用alert可以在網(wǎng)頁上彈出一個提示框顯示alert()的圓括號中的信息。
prompt();
使用prompt可以在網(wǎng)頁上彈出一個輸入框,并且以prompt()的圓括號中的信息作為提示信息。
confirm();
包含確定和取消的彈出框。
3、頁面輸出:document.write();
直接會將內(nèi)容顯示在頁面上。
選擇語句
if....else語句
if(判斷條件/boolean值){
//滿足條件會執(zhí)行下面的代碼
代碼1;
}else {
//當(dāng)上面的條件不滿足,或者boolean的值為false的時候會執(zhí)行下面的代碼2
代碼2
}
此外,else后還可以繼續(xù)加if判斷
if(判斷條件/boolean值){
//滿足條件會執(zhí)行下面的代碼
代碼1;
}else if(判斷條件) {
//當(dāng)上面的條件不滿足,或者boolean的值為false的時候會執(zhí)行下面的代碼2
代碼2
}
else if(判斷條件)
。。。。。
else {
最后代碼
}
Switch ...case語句
用來判斷多個可能出現(xiàn)的值
switch 語句與 if 語句的關(guān)系最為密切,而且也是在其他語言中普遍使用的一種流控制語句。
switch (expression) { case value: statement break; case value: statement break; case value: statement break; case value: statement break; default: statement }
switch 語句中的每一種情形(case)的含義是:“如果表達(dá)式等于這個值(value),則執(zhí)行后面的語句(statement)”。而 break 關(guān)鍵字會導(dǎo)致代碼執(zhí)行流跳出 switch 語句。如果省略 break 關(guān)鍵字,就會導(dǎo)致執(zhí)行完當(dāng)前 case 后,繼續(xù)執(zhí)行下一個 case。通過為每個 case 后面都添加一個 break 語句,就可以避免同時執(zhí)行多個case 代碼的情況。
也可以多種情況混合。
switch (i) { case 25: /* 合并兩種情形 */ case 35: alert("25 or 35"); break; case 45: alert("45"); break; default: alert("Other"); }
需要注意的是switch 語句在比較值時使用的是全等操作符,因此不會發(fā)生類型轉(zhuǎn)換(例如,
字符串"10"不等于數(shù)值 10)。
break與continue語句
break是在循環(huán)內(nèi)部結(jié)束合格循環(huán)。
continue是在循環(huán)的內(nèi)部結(jié)束本次循環(huán),開始下一次循環(huán):
循環(huán)語句
for循環(huán)是反復(fù)執(zhí)行同一段代碼。
for(var i = 1; 判斷條件; i++){
要循環(huán)的代碼塊:
}
當(dāng)程序運(yùn)行到for的時候,會先聲明一個變量i,并且賦值為1,判斷i是否滿足后面的判斷條件,如果滿足,執(zhí)行下面的要循環(huán)的代碼塊,代碼 塊執(zhí)行完成之后再執(zhí)行i++,再判斷判斷條件是否滿足,如果滿足再次按照上面的流程執(zhí)行,如果不滿足,結(jié)束for循環(huán)。
for循環(huán)還可以用于嵌套,實(shí)現(xiàn)復(fù)雜的運(yùn)算,冒泡排序就用到了for循環(huán)的嵌套。下面舉兩個for循環(huán)嵌套的例子。
打印直角三角形,
for (var i = 1; i <= 10; i++) { for (var j = 1; j <= i; j++){ document.write("☆"); } document.write("<br/>"); }
打印99乘法表
for (var i = 1; i < 10; i++) { for (var j = 1; j <= i; j++) { document.write(j + "*" + i + "=" + i * j);// 1 * 1 = 1 document.write(" "); } document.write("<br/>"); }
for in循環(huán)
for-in 用于遍歷數(shù)組或者對象的屬性(對數(shù)組或者對象的屬性進(jìn)行循環(huán)操作)。
舉個例子
var x var mycars = new Array() mycars[0] = "Saab" mycars[1] = "Volvo" mycars[2] = "BMW" for (x in mycars) { document.write(mycars[x] + "<br />") }
while循環(huán)
while(判斷條件/boolean){
代碼塊
}
當(dāng)代碼執(zhí)行到while的時候,會先判斷判斷條件是否為true,如果為true,那么會執(zhí)行while大括號中的代碼塊,代碼塊執(zhí)行完畢以后,再次回到while中再進(jìn)行判斷,如果為true,再次執(zhí)行while大括號中的代碼塊,并且再次回while,如果為false就不執(zhí)行。
注意:將來在寫代碼的時候一定要注意循環(huán)的判斷條件不能一直為true,否則會成為一個死循環(huán)。
do...while循環(huán)
do-while 語句是一種后測試循環(huán)語句,即只有在循環(huán)體中的代碼執(zhí)行之后,才會測試出口條件。
換句話說,在對條件表達(dá)式求值之前,循環(huán)體內(nèi)的代碼至少會被執(zhí)行一次。
do { statement } while (expression);
do...while語句在開發(fā)中并不怎么用,用的最多的還是for循環(huán),以及for循環(huán)嵌套。
補(bǔ)充:
Function函數(shù)對象
函數(shù)申明式
function fn(){ // 函數(shù)體 }
函數(shù)表達(dá)式(匿名函數(shù))
var fn = function(){ // 函數(shù)體 }
// fn表示函數(shù)名稱
// 函數(shù)表達(dá)式通常又叫匿名函數(shù) 因?yàn)闆]有函數(shù)名
函數(shù)的調(diào)用
fn();// 注意:函數(shù)只申明不調(diào)用是不會執(zhí)行的
函數(shù)的參數(shù)
// 申明
function 函數(shù)名(形參1,形參2,形參3,){
// 函數(shù)體
}
// 調(diào)用
函數(shù)名(實(shí)參1,實(shí)參2,實(shí)參3);
函數(shù)名(實(shí)參1);// 這樣寫也不會有問題
函數(shù)名(實(shí)參1,實(shí)參2,實(shí)參3,實(shí)參4);// 這樣寫也不會有問題
// 注意:函數(shù)的實(shí)參個數(shù)可以和形參的個數(shù)不同
函數(shù)的返回值
function 函數(shù)名(){
return 要返回值;
}
// 注意:函數(shù)不寫返回值時默認(rèn)的返回值是undefined
函數(shù)的遞歸:函數(shù)在內(nèi)部調(diào)用自身函數(shù)叫遞歸
function fn(){ fn(); } fn();
函數(shù)的回調(diào):被當(dāng)做參數(shù)傳遞的函數(shù)叫回調(diào)函數(shù)
function fn1(){ console.log(“我是回調(diào)函數(shù)”); } function fn2(parameter){ parameter(); // 調(diào)用函數(shù) // 這里的parameter是形參 代表傳進(jìn)來的函數(shù)fn1 } fn2(fn1);// fn1就是一個回調(diào)函數(shù)
相關(guān)文章
JavaScript實(shí)現(xiàn)帶并發(fā)限制的異步調(diào)度器
這篇文章主要為大家詳細(xì)介紹了如何基于JS實(shí)現(xiàn)一個帶并發(fā)限制的異步調(diào)度器?Scheduler,保證同時運(yùn)行的任務(wù)最多有N個,感興趣的小伙伴可以了解下2024-03-03JS中map與forEach無法跳出循環(huán)及every和some的使用
在我們平時使用習(xí)慣中,for循環(huán)里要跳出整個循環(huán)是使用break,但在數(shù)組中用forEach循環(huán)或者map如要退出整個循環(huán)使用break會報(bào)錯,使用return也不能跳出循環(huán),下面這篇文章主要介紹了關(guān)于JS中map與forEach無法跳出循環(huán)及every和some的使用的相關(guān)資料,需要的朋友可以參考下2023-05-05JavaScript Array擴(kuò)展實(shí)現(xiàn)代碼
最近看了一下developer.mozilla.org里的東西,發(fā)現(xiàn)它為Array對象添加了不少generic method,趕得上Prototype的熱心程度。2009-10-10Bootstrap基本組件學(xué)習(xí)筆記之分頁(12)
這篇文章主要為大家詳細(xì)介紹了Bootstrap基本組件學(xué)習(xí)筆記之分頁,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-12-12JavaScript運(yùn)動框架 解決速度正負(fù)取整問題(一)
這篇文章主要為大家詳細(xì)介紹了JavaScript運(yùn)動框架的第一部分,解決速度正負(fù)取整問題,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-05-05JavaScript中的this關(guān)鍵字介紹與使用實(shí)例
JavaScript其實(shí)一門基于或者說是面向?qū)ο蟮恼Z言,這樣的話,this這個關(guān)鍵字,在類的內(nèi)部就顯得尤為重要2013-06-06