開始之前,先明確幾個易混淆點:
1.js引擎在讀取js**的時候,會執行兩個步驟,①解釋②執行;1.es(ecmascript)變數可能包含兩種不同型別的值:基本型別值+引用型別值;2.解釋就是通篇掃瞄所有的js**,把所有宣告提到頂端,執行就是操作一類的。;
3.變數提公升:函式宣告和變數宣告總是會被直譯器悄悄的提公升到方法體的最頂端;
4.函式提公升在變數提公升之上。
2.基本型別值:簡單的資料段;引用型別值:可能由多個值構成的物件;
3.引用型別的值是儲存在記憶體中的物件,引用型別的值是按引用來訪問的。
1.若乙個變數向另乙個變數複製基本型別的值,會在變數上建立乙個新值,然後把該值複製到為新變數分配的位置上(複製基本型別值);
2.若乙個變數向另乙個變數複製引用型別的值時,也會將儲存在變數物件中的值複製乙份放在新變數分配的位置上,但是:這個值的副本其實只是乙個指標,而指標指向儲存在堆中的乙個物件,複製操作結束後,兩個變數實際上引用的是同乙個物件;故改變乙個變數,另外乙個變數也會受影響。
1.js沒有塊級作用域;
2.作用域:對某個範圍產生作用,而不會對外產生任何影響的封閉空間。在這個空間中,外部不能訪問內部變數,但是內部變數可以訪問外部變數。
作用域,變數作用域,作用域鏈知識
第2章 變數作用域 第3章 作用域鏈 預覽 1.全域性作用域 整個script標籤下 或者是單獨的js檔案 外部js 2.區域性作用域也叫 函式作用域 在函式內部就是區域性作用域 這個 的名字 變數 只在函式內部起作用和效果 3.不同作用域下,定義相同變數名是不衝突的。如果是在同一作用域宣告2個相同...
變數作用域
python任何變數都有其特定的作用域 在函式內部的變數一般只能在函式內部使用,這些只能在程式特定的區域使用的變數稱為區域性變數.在乙個檔案頂部,在函式的外部定義的變數,可以供該檔案的任何函式呼叫,這樣的變數稱為全域性變數 區域性變數和全域性變數的關係 區域性變數可以通過global關鍵字強制宣告為...
變數作用域
1 全域性變數 定義在函式外邊的變數,通常函式是無法直接獲取到外部變數的,需要獲取時得需要在函式裡加global方法 例如在外部定義乙個a 5 fu ncti onte st sum 此時是無法直接獲取到a的 方法就 是 fu ncti onte st sum echo test 2 靜態變數 st...