08 原始型別和引用型別的區別

2022-02-02 00:35:11 字數 756 閱讀 3845

原始型別和引用型別的區別

01,原始值是不可更改的:任何方法都無法更改(或「突變」)乙個原始值。

引用值是可變的。

02,原始值的比較是值的比較:只有在它們的值相等時它們才相等。

物件的比較並非值的比較:即使兩個物件包含同樣的屬性及相同的值,它們也是不相等的。

各個索引元素完全相等的兩個陣列也不相等。

var

o = , p = ;       // 具有相同屬性的兩個物件

o === p                         // => false: 兩個單獨的物件永不相等

var a = , b = ;             // 兩個單獨的空陣列

a === b                         // => false: 兩個單獨的陣列永不相等

物件的比較均是引用的比較:當且僅當它們引用同乙個基物件時,它們才相等。

var

a = ;     // 定義乙個引用空陣列的變數a

var b = a;      // 變數b引用同乙個陣列

b[0] = 1

;       // 通過變數b來修改引用的陣列

a[0]            // => 1: 變數a也會修改

a === b         // => true:a和b引用同乙個陣列,因此它們相等

值型別和引用型別區別

3.1.3 值型別和引用型別的區別 37 值型別和引用型別的基本概念 值型別和引用型別的記憶體分配 值型別的基類 分析問題 所有.net 的型別都可以分為兩類 值型別和引用型別。最簡單也最明確的乙個區分標準是 所有的值型別都繼承自 system.valuetype system.valuetype ...

值型別和引用型別區別

3.1.3 值型別和引用型別的區別 37 值型別和引用型別的基本概念 值型別和引用型別的記憶體分配 值型別的基類 分析問題 所有.net 的型別都可以分為兩類 值型別和引用型別。最簡單也最明確的乙個區分標準是 所有的值型別都繼承自 system.valuetype system.valuetype ...

引用型別和值型別區別

1.普通的資料型別,和結構體 列舉等,是值型別,賦值時,會建立乙個備份,給新的變數。2.類 物件是引用型別,賦值時,並不會新建物件的副本,而是把物件的位址給新物件名。所以,物件名中儲存的並不是完整物件的內容,只儲存了找到這個物件的位址。3.sets 集 3.1概念 相同型別 沒有固定順序 數值不能重...