JS 值型別和引用型別的深層理解

2021-09-29 17:07:24 字數 1037 閱讀 1944

(1)值型別(基本型別):

注:這5種基本資料型別是按值訪問的,因為可以操作儲存在變數中的實際的值)(es6新增了一種基本資料型別:symbol )

(2)引用型別:

(1)值型別:

(2)引用型別:

// 值型別:number、string、bollean、undefined

var a = 100

var b = a

a = 200

console.log(b) // 100 儲存與複製的是值本身

// 引用型別:物件、陣列、函式、null(空指標)

// 可以擴充套件屬性

var a =

var b = a

b.age = 21

console.log(a.age) // 21

// 利用typeof來區分

typeof undefined // undefined

typeof 'abc' // string

typeof 123 // number

typeof true // boolean

// typeof 區分不出來引用型別(除了函式)

typeof {} // object

typeof // object

typeof null // object

typeof console.log //function

// 用instanceof來區分引用型別

// 如果變數是給定引用型別(根據它的原型鏈來識別)的例項,那麼instanceof 操作符就會返回 true。

console.log(person instanceof object); // 變數 person 是 object 嗎?

console.log(colors instanceof array); // 變數 colors 是 array 嗎?

console.log(pattern instanceof regexp); // 變數 pattern 是 regexp 嗎?

js高階 值型別和引用型別

什麼是引用型別?什麼是值型別?值型別 是指在記憶體棧中 直接儲存資料的本身 常見的資料型別 string,boolean,number,null,undefined 引用型別 是指在記憶體棧中儲存的是資料的記憶體位址 指向了堆中複雜的資料型別 值型別 儲存在棧中,儲存的是值得本身 var str a...

js 中的值型別和引用型別

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

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 ...