-
值類型的賦值:
- 把等號(hào)右邊的變量存儲(chǔ)的內(nèi)容(具體的數(shù)據(jù))復(fù)制一份給左邊的變量
- 注意點(diǎn):修改了其中的一個(gè)變量冷冗,對(duì)另外一個(gè)變量沒有影響吱窝,他們是相互獨(dú)立的
-
引用類型的賦值:
- 把等號(hào)右邊的對(duì)象存儲(chǔ)的內(nèi)容(指向具體數(shù)據(jù)的地址)復(fù)制一份給左邊的對(duì)象
- 注意點(diǎn):修改了其中的某一個(gè)對(duì)象,對(duì)另外一個(gè)對(duì)象有影響拦英,他們共享內(nèi)存中的同一塊數(shù)據(jù)
示例代碼:
<script>
var str1 = "string1";
var str2 = str1; //值類型的賦值
console.log(str1 == str2); //true
str1 = "修改";
console.log(str1 == str2); //false
console.log(str1); //修改
console.log(str2); //string1
var obj1 = {
name:"張三"
}
var obj2 = obj1; //引用類型的賦值
console.log(obj1 == obj2); //true
obj1.name = "李四";
console.log(obj1.name); //李四
console.log(obj2.name); //李四
//賦值操作之后蜒什,如果重新使用字面量的方式來(lái)設(shè)置對(duì)象,那么會(huì)切斷和賦值對(duì)象之間的聯(lián)系
obj1 = {
age:20,
name:"老王"
}
console.log(obj1.name); //老王
console.log(obj2.name); //李四
</script>
-
使用畫圖方式解說示例代碼: