一、流程控制
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,作用域鏈