1. 程式人生 > >typeof、搖樹優化、js預編譯

typeof、搖樹優化、js預編譯

顯示 obj 表達 string defined 原始的 刪除 執行 undefined

typeof:

   typeof用以獲取一個變量或者表達式的類型,一元運算符

  • null:空、無。表示不存在,當為對象的屬性賦值為null,表示刪除該屬性
  • undefined:未定義。當聲明變量卻沒有賦值時會顯示該值。可以為變量賦值為undefined
  • number:數值。最原始的數據類型,表達式計算的載體
  • string:字符串。最抽象的數據類型,信息傳播的載體
  • boolean:布爾值。最機械的數據類型,邏輯運算的載體
  • object:對象。面向對象的基礎

  註意:沒有數組,因為type數組時結果是object

  

js預編譯:

  腳本執行js引擎執行步驟:

  1. 語法分析
  2. 預編譯
  3. 解釋執行

  語法分析:引擎檢查你的代碼有沒有什麽低級的語法錯誤

  預編譯:在內存中開辟一些空間,存放一些變量與函數
  解釋執行:顧名思義便是執行代碼了  

  預編譯(函數執行前)※
  1. 創建AO對象(Active Object)
  2. 查找函數形參及函數內變量聲明,形參名及變量名作為AO對象的屬性,值為undefined
  3. 實參形參相統一,實參值賦給形參
  4. 查找函數聲明,函數名作為AO對象的屬性,值為函數引用

  預編譯(腳本代碼塊script執行前)
  1. 查找全局變量聲明(包括隱式全局變量聲明,省略var聲明),變量名作全局對象的屬性,值為undefined

  3. 查找函數聲明,函數名作為全局對象的屬性,值為函數引用



typeof、搖樹優化、js預編譯