ECMAScript
-
變量,ECMAScript包含兩種數據類型的值:基本類型值和引用類型值,在將一個值賦給變量時,解析器必須確定這個值是基本類型還是引用類型。
- Undefined、Null、String、Number、Boolean都是按值訪問,可以操作保存在變量中的實際值。(棧內存)
引用類型的值保存在內存中(堆內存),操作對象時,實際操作的是對象的引用。
-
基本類型復制變量值
Paste_Image.png 引用類型復制變量值
Paste_Image.png
參數傳遞,javascript中都是按照
值傳遞
,在向參數傳遞基本類型時,傳遞的值會被復制一個給局部變量;在向參數傳遞引用類型時,傳遞的值會被復制一個引用給局部變量(引用類型的值包含的并不是對象本身而是指向對象的一個指針)類型檢測
typeof檢測基本數據類型,instanceof檢測引用類型。檢測數組類型Array.isArray()
javascript中分為全局環境和局部環境,并且沒有塊級作用域,使用var聲明的變量被分配到最近的環境中,垃圾收集采用標記清除法,即當前不使用的值加上標記,然后回收其內存(不用的對象置null解除引用)。