本篇文章帶給大家的內容是關於javascript中基本資料類型和引用類型的區別分析 ,有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助。
JS中的型別只有6種,其中基本資料型別有5種分別為string,number,boolen,null,undefined,引用型別有一種,就是object,object是一個大的綜合體,在JS中除了那5個基本資料型態以外,其他的一切皆對象。
var a = 100; var b = a; a++ console.log(a)//101 console.log(b)//100
var obj1 = new object(); var obj2 = new object(); obj1.age = 18; obj2 = obj1; obj1.age++ console.log(obj1.age)//19 console.log(obj2.age)//19
可以看到上面兩個例子都是改變了值,基本資料型態是被賦值的不會改變,而引用的是被賦值的也會隨之改變,那麼這是為什麼呢?其實很簡單,一句話就可以概括:因為基本資料型別保存的是值,而引用型別保存的是位址。
解釋例子
創建一個新的變數時,會將它存放在堆疊中,如果是物件的話,就會在另外的更大的堆中劃分一片區域,那麼在棧中該物件存放的就是在堆中的位址。
基本資料型別
如上圖,基本資料型別是直接在堆疊中存放值的,當a改變的時候,b不會發生變化,因為b只是等於a的值,和a沒有什麼關係。
引用類型(物件)
# 在obj1和obj2中存放的都是位址,obj2不是等於obj1的值,而是等於obj1在堆中存放的位址,所以當位址中的內容改變時,obj2的內容也會改變。只要建立一個新的對象,在堆中就會開闢一個新的區域去存放對象的屬性和方法等內容。
相關推薦:
跟我學習javascript的基本型別與引用型別_javascript技巧
以上是javascript中基本資料類型和引用類型的區別分析的詳細內容。更多資訊請關注PHP中文網其他相關文章!