1. 程式人生 > >JavaScript學習之小白篇(五-函式的作用域及建立物件)

JavaScript學習之小白篇(五-函式的作用域及建立物件)

好好學習 ,天天向上。Are you ready?在這裡插入圖片描述

一、作用域及作用域鏈
1. 什麼是作用域?
2. JS在ES5這個版本中有哪些作用域?
1》script作用域(全域性作用域)
宣告在全域性作用域的變數,叫全域性變數,同時也是window物件的屬性
宣告在全域性作用域的函式,叫全域性函式, 同時也是window物件的方法
特點:
1. 全域性範圍內的變數和函式在全域性範圍有效即整個頁面有效。
2. 全域性變數:生存時間,從宣告開始,到整個程式退出時,釋放記憶體空間。
2》函式作用域(區域性作用域)
宣告在函式作用域中的變數或形參,叫區域性變數。
宣告在函式作用域中的函式,叫區域性函式
特點:1.區域性範圍內的變數或函式只在所在函式作用域中有效。
2.區域性變數:生存時間,從呼叫函式時開始,到函式呼叫結束後,釋放記憶體空間。
3》 只要進入作用域,就會啟動JS解析器(預解析和逐行解讀程式碼)
1.預解析 : 找 var function 形參
2.逐行解讀程式碼:1.執行表示式2.函式呼叫
4》 執行表示式時,按照作用域鏈的方法去尋找所需的變數。
5》 當變數名和函式名相同時,丟變數,保函式
6》 當有多個script標籤時,從上到下,依次解析並解讀每一個script標籤
二、遞迴函式:自己呼叫自己的過程,遞迴呼叫


1.遞迴的本質 : 實現迴圈
2. 迴圈三要素 : 起點、終點、步進
三、如何建立物件?
1. 字面量的方式建立 如: var obj = {};
格式 : {key : value , key : value,key : value,……}
2. new Object()
3. 建構函式的方式。
格式:
function 建構函式名([形參,形參]){
this.屬性 = 值;
this.方法 = function([形參,形參]){
[return] 值;
}
}

注:1.建構函式名儘量使用大駝峰
2.建構函式中的this,代表的是 通過該建構函式new出來的物件。
四、如何訪問物件中的屬性和方法?


1. 物件名.屬性
物件名.方法()
2. 物件名[‘屬性’]
物件名方法()