JavaScript 學習筆記(九)—— 函數

什麼是函數?

函數是由事件驅動的或者當它被調用時執行的可重複使用的代碼塊。


JavaScript 函數語法

函數就是包裹在花括號中的代碼塊,使用關鍵詞 function:

function functionname(){
    // 執行代碼
}

當調用該函數時,會執行函數內的代碼。
可以在某事件發生時直接調用函數(比如當用戶點擊按鈕時),並且可由 JavaScript 在任何位置進行調用。
JavaScript 對大小寫敏感。關鍵詞 function 必須是小寫的,並且必須以與函數名稱相同的大小寫來調用函數。


調用帶參數的函數

在調用函數時,可以向其傳遞值,這些值被稱爲參數。
這些參數可以在函數中使用。
可以發送任意多的參數,由逗號 (,) 分隔:

myFunction(argument1,argument2)

當您聲明函數時,請把參數作爲變量來聲明:

function myFunction(var1,var2){
	代碼
}

變量和參數必須以一致的順序出現。第一個變量就是第一個被傳遞的參數的給定的值,以此類推。

<p>點擊這個按鈕,來調用帶參數的函數。</p>
<button onclick="myFunction('Harry Potter','Wizard')">點擊這裏</button>
<script>
function myFunction(name,job){
    alert("Welcome " + name + ", the " + job);
}
</script>

帶有返回值的函數

語法:

function myFunction(){
    var x=5;
    return x;
}

局部 JavaScript 變量


在 JavaScript 函數內部聲明的變量(使用 var)是局部變量,所以只能在函數內部訪問它。(該變量的作用域是局部的)。
可以在不同的函數中使用名稱相同的局部變量,因爲只有聲明過該變量的函數才能識別出該變量。
只要函數運行完畢,本地變量就會被刪除。


全局 JavaScript 變量

在函數外聲明的變量是全局變量,網頁上的所有腳本和函數都能訪問它。


JavaScript 變量的生存期

JavaScript 變量的生命期從它們被聲明的時間開始。
局部變量會在函數運行以後被刪除。
全局變量會在頁面關閉後被刪除。


向未聲明的 JavaScript 變量分配值

如果把值賦給尚未聲明的變量,該變量將被自動作爲 window 的一個屬性。

carname="Volvo";

將聲明 window 的一個屬性 carname。
非嚴格模式下給未聲明變量賦值創建的全局變量,是全局對象的可配置屬性,可以刪除。

var var1 = 1; // 不可配置全局屬性
var2 = 2; // 沒有使用 var 聲明,可配置全局屬性

console.log(this.var1); // 1
console.log(window.var1); // 1

delete var1; // false 無法刪除
console.log(var1); //1

delete var2; 
console.log(delete var2); // true
console.log(var2); // 已經刪除 報錯變量未定義
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章