javascript基本類型和引用類型淺析

javascript包含兩種不同的數據類型的值,分別是基本類型值 和引用類型值

基本類型,分別是:字符串(String)、數字(Number)、布爾(Boolean)、空(Null)、未定義(Undefined)

五種基本數據類型時按值訪問的,可以直接操作變量的內容,如果從一個基本類型變量向另外一個變量賦值,會創建該變量的副本,兩者之間不會影響。

eg:


此處用的是node的js環境,可見修改A以後並不會影響B,可知AB爲互相獨立的存儲空間

而引用類型則並非如此,常見的引用類型有Array,Object。纔將一個引用類型賦值給一個變量時,該變量實際保存的是指向引用類型內存的指針。如果從一個引用類型變量向另外一個變量賦值,則兩個變量指向於同一個內存地址

eg:


此處用的數組直接量的形式,修改b後,a也被修改了,可見ab指向的同一個內存地址

那麼在傳遞參數的時候又是怎樣呢?

基本數據類型毫無疑問會複製一個副本,並把該副本的值賦給參數,那麼引用類型呢?看測試如下:


有圖可以知道,當把引用類型b傳入函數中,並修改a時,相應的b也被修改了,可見在傳遞引用類型的參數時,傳遞的是該變量的指針。




發佈了42 篇原創文章 · 獲贊 26 · 訪問量 9萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章