JavaScript
五種基本數據類型(Undefined
、Null
、Boolean
、Number
、String
)與引用類型。前端
在不少語言中,字符串以對象的形式來表示,所以被認爲是引用類型的。
ECMAScript
放棄了這一傳統。算法
引用類型可動態添加或刪除屬性、方法。基本數據類型不能夠,對基本數據類型添加屬性或方法不會致使任何錯誤,但也不會添加成功。網絡
A
複製給B
)對於基本數據類型:將A
的值複製,而後賦值給B
數據結構
對於引用數據類型:將指向A
的指針複製,而後賦值給B
函數
ECMAScript
中全部函數的參數都是按值傳遞的。性能
基本數據類型用typeof
,引用類型用instanceof
(基於原型鏈)。優化
執行環境定義了變量或函數有權訪問的其餘數據,決定了他們各自的行爲。每一個執行環境都有一個與之關聯的變量對象,環境中定義的全部變量和函數都保存在這個對象中。指針
當代碼在一個環境中執行時,會建立變量對象的一個做用域鏈。做用域鏈的用途,是 保證對執行環境有權訪問的全部變量和函數的有序訪問。做用域鏈的前端,始終都是當前執行的代碼所在環境的變量對象。code
延長做用域鏈的方式對象
注意:js沒有塊級做用域
垃圾收集產生的性能問題主要是垃圾收集的間隔時間問題。
優化內存佔用的最好方式是爲執行中的代碼只保存必要的數據,一旦數據再也不使用,最好經過將其值設置爲
null
來釋放引用(解除引用)。
HTML
CSS
數據結構與算法
網絡