一、流程式控制制 1. 作用:控制代碼的執行順序 2. 分類 2.1順序結構:從上到下依次執行代碼語句 2.2選擇結構: 1. if語句 簡單if結構 if(條件表達式){ 表達式成立時執行的代碼段 } 註意 : 除零值以外,其他值都為真,以下條件為假值false if(0){} if(0.0){} i ...
一、流程式控制制
1. 作用:控制代碼的執行順序
2. 分類
2.1順序結構:從上到下依次執行代碼語句
2.2選擇結構:
1. if語句
簡單if結構
if(條件表達式){
表達式成立時執行的代碼段
}
註意 : 除零值以外,其他值都為真,以下條件為假值false
if(0){}
if(0.0){}
if(""){} //空字元串
if(undefined){}
if(NaN){}
if(null){}
特殊寫法 : { }可以省略,一旦省略,if語句只控制其後的第一行代碼
2. if - else結構:
if(條件表達式){
//條件成立時執行
}else{
//條件不成立時選擇執行
}
3.多重分支結構:
if(條件1){
//條件1成立時執行
}else if(條件2){
//條件2成立時執行
}else if(條件3){
//條件3成立時執行
}...else{
//條件不成立時執行
}
2. switch語句:
switch(value){ case 值1 : //value與值1匹配全等時,執行的代碼段 break; //結束匹配 case 值2 : //value與值2匹配全等時,執行的代碼段 break; case 值3 : //value與值3匹配全等時,執行的代碼段 break; default: //所有case匹配失敗後預設執行的語句 break; }
使用時要註意的:
1. switch語句用於值的匹配,case用於列出所有可能的值;只有switch()表達式的值與case的值匹配全等時,才會執行case對應的代碼段 2. break用於結束匹配,不再向後執行;可以省略,break一旦省略,會從當前匹配到的case開始,向後執行所有的代碼語句,直至結束或碰到break跳出 3. default用來表示所有case都匹配失敗的情況,一般寫在末尾,做預設操作 4. 多個case共用代碼段 case 值1: case 值2: case 值3: //以上任意一個值匹配全等都會執行的代碼段
作用 根據條件,重覆執行某段代碼
1. while迴圈:
定義迴圈變數; while(迴圈條件){ 條件滿足時執行的代碼段 更新迴圈變數; }
2. do-while迴圈:
do{ 迴圈體; 更新迴圈變數 }while(迴圈條件);
while 與do-while迴圈的區別 :
3. for 迴圈
for(定義迴圈變數;迴圈條件;更新迴圈變數){ 迴圈體; }
迴圈控制 :
break 強制結束迴圈
continue 結束當次迴圈,開始下一次迴圈 迴圈嵌套 : 在迴圈中嵌套添加其他迴圈
//函數聲明 function 函數名(參數列表){ 函數體 return 返回值; } //函數調用 函數名(參數列表);
使用:
匿名函數:省略函數名的函數。
語法為:
匿名函數自執行
(function (形參){ })(實參);
定義變數接收匿名函數:
var fn = function (){}; fn(); //函數調用
四,作用域
JavaScript 中作用域分為全局作用域和函數作用域,以函數的{ }作為劃分作用域的依據
只要在函數外部使用 var 關鍵字定義的變數,或函數都是全局變數和全局函數,在任何地方都可以訪問
所有省略 var 關鍵字定義的變數,一律是全局變數
2,局部變數/局部函數
在函數內部使用 var 關鍵字定義的變數為局部變數,函數內部定義的函數也為局部函數,只能在當前作用域中使用,外界無法訪問
3,作用域鏈