預解釋和作用域

2021-09-24 16:56:28 字數 527 閱讀 6164

預解釋的機制:帶var的關鍵字和function關鍵字都會進行預解釋

預解釋:(一種毫不節操的機制)在js**之前,首先找到所有帶var關鍵字和function關鍵字的,提前宣告(declare)或者定義(defined)

預解釋7步驟:

作用域:(函式週期)

從window下的預解釋開始,宣告加定義了乙個函式(引用資料型別,所以首先開乙個堆記憶體,把函式中的**當做字串儲存起來)**從上到下執行,執行我們的函式,形成了乙個私有所用於,在私有作用域中從新的預解釋,然後私有作用域下**執行,還是同樣的步驟,–》但是當我們完成返回乙個位址(返回乙個函式或者是乙個物件)並且在外面被其他的東西占用這個位址(var 變數=位址或者元素的繫結事件等於這個位址)這種情況下,新形成的作用域就不銷毀,如果外面沒有占用,那就不立即銷毀。

棧記憶體:1、用來執行**的。2、用來儲存基本資料型別值的

堆記憶體:1、用來儲存引用資料型別的

預解釋 作用域和this關鍵字

在js 執行之前,首先會在當前作用域下將所有帶var和function關鍵字的進行提前宣告 declare 或者定義 defined 引用資料型別開闢的空間 作用域 叫做堆記憶體 預解釋的7步驟 注意 在私有作用域下,預解釋的變數和定義的形參變數都是私有變數,在函式體中,我們遇到乙個變數首先看一下是...

2 0 作用域和預解析

一 作用域份為全域性作用域和區域性作用域 作用域不僅有有變數作用域還有函式作用域 var a 10 a是全域性作用域 在 都能訪問和修改 function fn console.log b 這裡b是不存在的 會報function fn say 可以呼叫 fn console.log a 報錯 say...

作用域 預解析

作用域概念預解析規則 作用域 在一定的空間 範圍 區域對內容進行讀寫!瀏覽器 js解析器 1 會去找 var function引數等,a 未定義 所有變數,在正式執行之前 都提前賦了乙個值 未定義 fn1 function fn1 所有的函式,在正式執行 之前,都是整個函式塊 這種叫做js 預解析 ...