(1)值型別(基本型別):數值(number)、布林值(boolean)、null、undefined、string(在賦值傳遞中會以引用型別的方式來處理)
(2)引用型別:物件、陣列、函式
用「連鎖店」和「連鎖店鑰匙」來比喻
(1)值型別:變數的交換等於在乙個新的地方按照連鎖店的規範標準(統一店面理解為相同的變數內容)新開乙個分店,這樣新開的店與其它舊店互不相關、各自運營。
1function
str() 2
8 str();
1var a = 1;
2var b =a;
3 a ++;
4 console.log(a); //
25 console.log(b); //
1
(2)引用型別:變數的交換等同於把現有一間店的鑰匙(變數引用位址)複製一把給了另外乙個老闆,此時兩個老闆同時管理一間店,兩個老闆的行為都有可能對一間店的運營造成影響
1function
str() 2
9 str();
1var a = {}; //
a儲存了乙個空物件的例項
2var b = a; //
a和b都指向了這個空物件
34 a.name = 'coco';
5 console.log(a.name); //
'coco'
6 console.log(b.name); //
'coco'
78 b.age = 24;
9 console.log(b.age);//
2410 console.log(a.age);//
2411
12 console.log(a == b);//
true
引用型別的賦值其實是物件儲存在棧區位址指標的賦值,因此兩個變數指向同乙個物件,任何的操作都會相互影響。
基本型別
引用型別
值可修改性
一經確定就不可變的
可以為引用型別新增屬性和方法,也可以刪除其屬性和方法
值比較值的比較
引用的比較
儲存記憶體裡的棧記憶體
同時儲存在棧記憶體和堆記憶體中
js 基本型別 引用型別
1 基本的資料型別有 undefined,boolean,number,string,null.基本型別的訪問是按值訪問的,就是說你可以操作儲存在變數中的實際的值 基本型別的比較是值的比較。用 比較兩個不同型別的變數時會進行一些型別轉換。但是當兩個值的型別相同的時候,即使是 也相當於是 基本型別的變...
js 引用型別和基本型別
js中的資料型別有以下幾種 基本型別 number boolean string undefined null symbol 引用型別 object array,function,date,正則物件,json物件 基本型別的資料是存放在棧記憶體中的,而引用型別的資料是存放在堆記憶體中的 複製變數值 ...
js 引用型別和基本型別
js中的資料型別有以下幾種 number boolean undefined object function string null 基本型別 number boolean string undefined null 引用型別 object function 基本型別的資料是存放在棧記憶體中的,而引...