JS重要知識點記錄

一、類型與包裝對象

1、類型

原始類型:

  • number
  • string
  • boolean
  • null
  • undefined
  • Symbol

對象類型:

  • Object
  • Array
  • Function

原始類型(基本類型)和對象類型(引用類型)的區別:

  • 原始類型不能修改值,對象類型可以。
    分析:原始類型存儲在棧內存中,對象類型存儲在堆內存中。原始類型的修改都是重新賦值。
    即,聲明一個原始類型,var a = 2;那麼會在棧內存中開闢一塊內存用於存儲原始類型a,當重新賦值a = 234的時候,會重新開闢一塊棧內存用於存儲重新賦值的原始類型a2則被垃圾回收機制回收。
    至於對象類型,棧內存中存的是對象數據在堆內存中的首地址,也就是該數據的引用。在訪問變量的時候就會去堆內存中找引用對象的值,修改的時候也是修改堆內存中的值。

clipboard.png

  • 原始類型沒有屬性和方法,對象類型可以有

null和undefined的區別:

  • undefined表示一個未被賦值的棧內存的空間,null表示棧空間的引用沒有指向一個地址
  • 進行顯示類型轉換時,null爲0,undefined爲NaN
  • typeof(null) === 'object'
    typeof(undefined) ==='undefined'
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章