前端知識點(持續更新)

wrfan發表於2019-04-02

JavaScript

變數型別

五種基本資料型別(UndefinedNullBooleanNumberString)與引用型別。

在很多語言中,字串以物件的形式來表示,因此被認為是引用型別的。ECMAScript放棄了這一傳統。

動態屬性

引用型別可動態新增或刪除屬性、方法。基本資料型別不可以,對基本資料型別新增屬性或方法不會導致任何錯誤,但也不會新增成功。

複製變數值(將A複製給B)

對於基本資料型別:將A的值複製,然後賦值給B

對於引用資料型別:將指向A的指標複製,然後賦值給B

引數傳遞

ECMAScript中所有函式的引數都是按值傳遞的。

資料型別檢測

基本資料型別用typeof,引用型別用instanceof(基於原型鏈)。

執行環境

執行環境定義了變數或函式有權訪問的其他資料,決定了他們各自的行為。每個執行環境都有一個與之關聯的變數物件,環境中定義的所有變數和函式都儲存在這個物件中。

作用域鏈

當程式碼在一個環境中執行時,會建立變數物件的一個作用域鏈。作用域鏈的用途,是 保證對執行環境有權訪問的所有變數和函式的有序訪問。作用域鏈的前端,始終都是當前執行的程式碼所在環境的變數物件。

延長作用域鏈的方式

  1. try-catch 語句的 catch 塊
  2. with語句

注意:js沒有塊級作用域

垃圾收集的兩種方式

  1. 標記清除
  2. 引用計數(迴圈引用問題)

垃圾收集產生的效能問題主要是垃圾收集的間隔時間問題。

優化記憶體佔用的最好方式是為執行中的程式碼只儲存必要的資料,一旦資料不再使用,最好通過將其值設定為null來釋放引用(解除引用)。

HTML

CSS

資料結構與演算法

網路

相關文章