031 簡單型別和複雜型別

2021-09-19 15:45:57 字數 1829 閱讀 1128

原始資料型別: number,string,boolean,undefined, null,object

基本型別(簡單型別),值型別: number,string,boolean

複雜型別(引用型別):object

空型別:undefined,null

值型別的值在哪一塊空間中儲存?棧中儲存

引用型別的值在哪一塊空間中儲存?物件在堆上儲存,位址在棧上儲存

值型別作為函式的引數,傳遞的是

引用型別作為函式的引數,傳遞的是位址

var num=10;

//值型別,值在棧上

var obj=

;//複雜型別,物件在堆,位址(引用)在棧

值型別之間傳遞,傳遞的是值

var num=10;

var num2=num;

//傳遞的值

console.

log(num2)

;//10

function

f1(x)

var num=10;

f1(num)

; console.

log(num)

;// 10

引用型別之間傳遞,傳遞的是位址(引用)

var obj=

;function

f2(obj2)

console.

log(obj.name)

;// 小明

f2(obj)

; console.

log(obj.name)

;// 小紅

思考題:

var num1 =10;

var num2 = num1;

num1 =20;

console.

log(num1)

;//20

console.

log(num2)

;//10

var num =50;

function

f1(num)

f1(num)

; console.

log(num)

;//50

var num1 =55;

var num2 =66;

function

f1(num, num1)

//函式呼叫

f1(num1, num2)

; console.

log(num1)

;//55

console.

log(num2)

;//100 不是66

console.

log(num)

;// 報錯

function

person

(name,age,salary)

function

f1(person)

var p =

newperson

("zs",18

,1000);

console.

log(p.name)

;//zs

f1(p)

; console.

log(p.name)

;//ls

基礎型別和複雜型別

基礎型別 number string boolean undefined null 引用型別 object array function 基本型別和複雜型別區別 解決基礎型別和複雜型別的賦值區別的方法 var arr a b c 希望brr和arr一樣,但是不要共用乙個位址 1.遍歷乙個乙個放進去 ...

派生複雜型別

複雜型別都是通過限制或擴充套件其他的型別來派生,通過限制派生的新型別的值範圍是基型別值範圍的自己,新型別的所有例項對於基型別也是有效的,而擴充套件則可以為現有型別新增新的元素和屬性,基型別的例項對於擴充套件型別不一定有效。從簡單型別或另乙個具有簡單內容的複雜型別派生複雜型別時,使用 xs conte...

Entity Framework 複雜型別

為了說明什麼是複雜屬性,先舉乙個例子。public class companyaddress public string companyname public string streetaddress public string city public string state public str...