JS中的函數(shù)
函數(shù):就是可被重復(fù)調(diào)用執(zhí)行的代碼塊。
函數(shù)也是一種數(shù)據(jù)類型, 屬于Object對象類型中的一種。
1.函數(shù)的定義
function 函數(shù)名(參數(shù)1,參數(shù)2,參數(shù)3...){
//需要執(zhí)行的代碼塊
}
- function是一個關(guān)鍵字, 和var、typeof一樣, 都是關(guān)鍵字, 后面要加空格;
- 沒有聲明函數(shù)名的函數(shù)的為匿名函數(shù);
- 有聲明函數(shù)名的函數(shù)的為具名函數(shù);
- 函數(shù)名的命名規(guī)范和變量命名一樣, 只能是字母、數(shù)字、下劃線、美元符號, 不能以數(shù)字開頭, 一般采用駝峰式命名法和匈牙利命名法;
- 函數(shù)名后的()中放置函數(shù)形參, 形參可以為任意多個(意味著可以沒有形參), 如有有多個形參用","隔開;
- 函數(shù){}中就是需要執(zhí)行的代碼塊。
2.函數(shù)的調(diào)用
function 函數(shù)名(){}
函數(shù)名(實參1, 實參2, ... , 實參3);
- 函數(shù)名應(yīng)和被調(diào)用的函數(shù)名保持一致;
- 實參和形參可以個數(shù)可以不用一一對應(yīng);
3.函數(shù)表達式
使用function關(guān)鍵字聲明一個函數(shù),但未給函數(shù)命名,最后將匿名函數(shù)賦予一個變量,叫函數(shù)表達式。
exp:
var fn=function(a,b){
console.log(a+b);
};
fn(10,20);//30
4.變量的作用域
4-1.全局變量
- 在函數(shù)外聲明的變量是全局變量,網(wǎng)頁上的所有腳本和函數(shù)都能訪問它。
- 在函數(shù)內(nèi)部沒使用var來聲明的變量也屬于全部變量。
4-2.局部變量
- 在JavaScript函數(shù)內(nèi)部聲明的變量是局部變量,所以只能在函數(shù)內(nèi)部訪問它(該變量的作用域是局部的)。
- 可以在不同的函數(shù)中使用名稱相同的局部變量,因為只有聲明過該變量的函數(shù)才能識別出該變量。
- 注意:只要函數(shù)運行完畢,局部變量就會被銷毀回收。
5.變量的生存期
1.JavaScript 變量的生命期從它們被聲明的時間開始。
2.局部變量會在函數(shù)運行完畢后被銷毀。
3.全局變量會在頁面關(guān)閉后被銷毀。