js高階 值型別和引用型別

2021-09-26 06:06:06 字數 652 閱讀 3560

什麼是引用型別?什麼是值型別?

值型別:是指在記憶體棧中 直接儲存資料的本身; 常見的資料型別:string,boolean,number,null,undefined

引用型別:是指在記憶體棧中儲存的是資料的記憶體位址 指向了堆中複雜的資料型別

//值型別 :儲存在棧中,儲存的是值得本身

var str='ab';

var str1=str;

str1='bb';

console.log(str)//ab

console.log(str1)//bb

//引用型別:在棧中儲存的是位址,位址指向堆中

var obj=

//obj儲存在棧中的乙個位址 指向堆中

//把obj在棧中的位址賦給了obj1

//obj1重新賦值 直接改變了在堆中儲存的屬性name,所以obj的name值也發生了改變

var obj1=obj;

obj1.name='小明';

console.log(obj.name);//小明

console.log(obj1.name);//小明

將值型別作為引數傳遞進入函式中改變後 並不會改變值本身;

但是引用型別當做引數傳遞時候,傳遞的是記憶體位址,所有會改變初始的資料

JS高階系列 值型別和引用型別

值型別var a 1 分配一段記憶體,命名為a,儲存的值為1引用型別var o 分配一段記憶體 儲存的值為鍵值對 age 18 分配一段記憶體,命名為o,儲存的值是指向記憶體 的位址值型別var a 1 var b a a 2 console.log b 結果為1引用型別var o var b o ...

js 中的值型別和引用型別

j ascript中值型別 基本型別 number,string,bool,undefined,null 這5種基本資料型別是按值訪問的,因為可以操作儲存在變數中的實際的值 引用型別 物件 object 陣列 array 函式 function 2.值型別和引用型別的區別 1 值型別 1 占用空間固...

引用型別和值型別

c 是一種型別安全的語言。每乙個變數都要求定義為乙個特定的型別,並且要求儲存在變數中的值只能是這種型別的值。變數既能儲存值型別,也可以儲存引用型別,還可以是指標。這一課將講述前兩種型別,關於指標的討論我們將在下一課中進行。下面是關於值型別和引用型別不同點的概論 如果乙個變數v儲存的是值型別,則它直接...