1. 程式人生 > >JavaScript基礎之流程控制語句

JavaScript基礎之流程控制語句

字符 出口 操作符 回調函數 ext i++ type script 函數表

第三部分:流程控制語句

JavaScript代碼是書寫位置:

JavaScript代碼應該寫在<script type=”text/javascript”></script>這一對標記中。

或者作為外部引用<script src="JavaScript代碼路徑"></script>

JavaScript的每一句代碼請用分號作為結束。

輸出語句

1、控制臺輸出:console.log();

它可以在控制臺中輸出一些信息,輸出的信息就是console.log()中圓括號的內容。

在調試程序的時候回經常用這個語句。

2、彈出框輸出:

alert();

使用alert可以在網頁上彈出一個提示框顯示

alert()的圓括號中的信息。

prompt();

使用prompt可以在網頁上彈出一個輸入框,並且以prompt()的圓括號中的信息作為提示信息。

confirm();

包含確定和取消的彈出框。

3、頁面輸出:document.write();

直接會將內容顯示在頁面上。

選擇語句

if....else語句

if(判斷條件/boolean)
//滿足條件會執行下面的代碼

代碼1;

else {
//當上面的條件不滿足,或者boolean的值為false的時候會執行下面的代碼2

代碼2

}

此外,else後還可以繼續加if判斷

if(判斷條件/boolean)
//滿足條件會執行下面的代碼

代碼

1;

else if(判斷條件) {
//當上面的條件不滿足,或者boolean的值為false的時候會執行下面的代碼2

代碼2

}

else if(判斷條件)

。。。。。

else {
最後代碼

}

Switch ...case語句

用來判斷多個可能出現的值

switch 語句與 if 語句的關系最為密切,而且也是在其他語言中普遍使用的一種流控制語句。

switch (expression) {
case value: statement
break;
case value: statement
break;
case value: statement
break;
case value: statement
break;

default: statement
}

switch 語句中的每一種情形(case)的含義是:如果表達式等於這個值(value),則執行後面的語句(statement。而 break 關鍵字會導致代碼執行流跳出 switch 語句。如果省略 break 關鍵字,就會導致執行完當前 case 後,繼續執行下一個 case。通過為每個 case 後面都添加一個 break 語句,就可以避免同時執行多個 case 代碼的情況。

也可以多種情況混合。

switch (i) {
case 25:
/* 合並兩種情形 */
case 35:
alert("25 or 35");
break;
case 45:
alert("45");
break;
default:
alert("Other");
}

需要註意的是switch 語句在比較值時使用的是全等操作符,因此不會發生類型轉換(例如,
字符串"10"不等於數值 10)。

breakcontinue語句

break是在循環內部結束合格循環。

continue是在循環的內部結束本次循環,開始下一次循環:

循環語句

for循環是反復執行同一段代碼。

for(var i = 1; 判斷條件; i++){
要循環的代碼塊:

}

當程序運行到for的時候,會先聲明一個變量i,並且賦值為1,判斷i是否滿足後面的判斷條件,如果滿足,執行下面的要循環的代碼塊,代碼 塊執行完成之後再執行i++,再判斷判斷條件是否滿足,如果滿足再次按照上面的流程執行,如果不滿足,結束for循環。

for循環還可以用於嵌套,實現復雜的運算,冒泡排序就用到了for循環的嵌套。下面舉兩個for循環嵌套的例子。

打印直角三角形,

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循環

for-in 用於遍歷數組或者對象的屬性(對數組或者對象的屬性進行循環操作)。

舉個例子

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循環

while(判斷條件/boolean){
代碼塊

}

當代碼執行到while的時候,會先判斷判斷條件是否為true,如果為true,那麽會執行while大括號中的代碼塊,代碼塊執行完畢以後,再次回到while中再進行判斷,如果為true,再次執行while大括號中的代碼塊,並且再次回while,如果為false就不執行。

註意:將來在寫代碼的時候一定要註意循環的判斷條件不能一直為true,否則會成為一個死循環。

do...while循環

do-while 語句是一種後測試循環語句,即只有在循環體中的代碼執行之後,才會測試出口條件。
換句話說,在對條件表達式求值之前,循環體內的代碼至少會被執行一次。

do {
statement
} while (expression);

do...while語句在開發中並不怎麽用,用的最多的還是for循環,以及for循環嵌套。

補充:

Function函數對象

函數申明式

function fn(){

// 函數體

}

函數表達式(匿名函數)

var fn = function(){

// 函數體

}

// fn表示函數名稱

// 函數表達式通常又叫匿名函數 因為沒有函數名

函數的調用

fn();// 註意:函數只申明不調用是不會執行的

函數的參數

// 申明

function 函數名(形參1,形參2,形參3,){

// 函數體

}

// 調用

函數名(實參1,實參2,實參3);

函數名(實參1);// 這樣寫也不會有問題

函數名(實參1,實參2,實參3,實參4);// 這樣寫也不會有問題

// 註意:函數的實參個數可以和形參的個數不同

函數的返回值

function 函數名(){

return 要返回值;

}

// 註意:函數不寫返回值時默認的返回值是undefined

函數的遞歸函數在內部調用自身函數叫遞歸

function fn(){

fn();

}

fn();

函數的回調被當做參數傳遞的函數叫回調函數

function fn1(){

console.log(“我是回調函數”);

}

function fn2(parameter){

parameter(); // 調用函數

// 這裏的parameter是形參 代表傳進來的函數fn1

}

fn2(fn1);// fn1就是一個回調函數

JavaScript基礎之流程控制語句