您好,登錄后才能下訂單哦!
JavaScript中的流程控制語句有哪些?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。
第三部分:流程控制語句
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)還可以用于嵌套,實現(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ù) 因為沒有函數(shù)名
函數(shù)的調(diào)用
fn();// 注意:函數(shù)只申明不調(diào)用是不會執(zhí)行的
函數(shù)的參數(shù)
// 申明
function 函數(shù)名(形參1,形參2,形參3,){
// 函數(shù)體
}
// 調(diào)用
函數(shù)名(實參1,實參2,實參3);
函數(shù)名(實參1);// 這樣寫也不會有問題
函數(shù)名(實參1,實參2,實參3,實參4);// 這樣寫也不會有問題
// 注意:函數(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ù)
看完上述內(nèi)容是否對您有幫助呢?如果還想對相關(guān)知識有進(jìn)一步的了解或閱讀更多相關(guān)文章,請關(guān)注億速云行業(yè)資訊頻道,感謝您對億速云的支持。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。