第三部分:流程式控制制語句 JavaScript代碼是書寫位置: JavaScript代碼應該寫在<script type=”text/javascript”></script>這一對標記中。 或者作為外部引用<script src="JavaScript代碼路徑"></script> JavaScri ...
第三部分:流程式控制制語句
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)。
break與continue語句
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就是一個回調函數