js的兩種資料型別

2022-03-04 20:32:34 字數 875 閱讀 3626

js中的資料型別總體來說分為兩種,他們分別是:

1 值型別(基本型別):數值型(number),字元型別(string),布林值型(boolean),null 和 underfined

2 引用型別(類):函式,物件,陣列等

值型別理解:變數之間的互相賦值,是指開闢一塊新的記憶體空間,將變數值賦給新變數儲存到新開闢的記憶體裡面;之後兩個變數的值變動互不影響;

例如:var a=10;//開闢一塊記憶體空間儲存變數a的值「10」;

var b=a;//給變數b開闢一塊新的記憶體空間,將a的值「10」賦值乙份儲存到新的記憶體裡;

//a和b的值以後無論如何變化,都不會影響到對方的值;

引用型別理解:變數之間的互相賦值,只是指標的交換,而並非將物件(普通物件,函式物件,陣列物件)複製乙份給新的變數,物件依然還是只有乙個,只是多了乙個指引~~;例如:

var a=//需要開闢記憶體空間儲存物件,變數a的值是乙個位址,這個位址指向儲存物件的空間;

var b=a;//將a的指引位址賦值給b,而並非複製一給物件且新開一塊記憶體空間來儲存;

//這個時候通過a 來修改物件的屬性,則通過b 來檢視屬性時物件屬性已經發生改變;

js直譯器有自己的記憶體管理機制,當不再有任何乙個引用指向乙個物件時,直譯器就會認為此物件沒用了,然後在動**此物件所占用的記憶體資源; 

值型別都是物件(null和underfined除外),只是他們是偽物件;

物件/偽物件 都有屬性和方法;

ecmascript規定所有的物件都有tostring()方法,無論是物件還是偽物件;

number,string,boolean值的原始/預設型別都是偽物件;他們都有屬性,都有tostring()方法;

null 和 underfined 沒有屬性和方法;

2 4 兩種資料型別轉換

2.4 資料型別的轉換 目的 進行不同資料型別之間運算。種類 自動型別轉換 和 強制型別轉換 自動型別轉換 自動向上型別轉換 小範圍型別轉為大範圍型別 byte short char int long float double 語法 小範圍型別 變數1 變數1的值 大範圍型別 變數2 變數1 eg ...

JS分兩種資料型別,你都知道嗎?

大牛請無視此篇!js主要分基本資料型別和引用資料型別,這兩者區別可大了,此篇看完必有長進,下面進入正題 首先我們看下什麼是基本資料型別 概念我就不說了,直接上 var i 10 var x 11 var y lemon var z 檸檬 這些最基本的就是基本資料型別了,下面看下什麼是引用資料型別 v...

c 中的兩種資料型別 值型別和引用型別

我們都知道,c 的兩大資料型別分別為值型別和引用型別。很多人或許閉著眼睛都能說出值型別包括簡單型別 結構體型別和列舉型別,引用型別包括自定義類 陣列 介面 委託等,但是當被問及到二者之間的聯絡和區別,什麼時候用 struct 什麼時候用 class 時,就常常混淆不清了。為此,了解值型別和引用型別的...