賦值(=)
左邊的變量等于右邊的變量
var a = 10;
內(nèi)部細(xì)節(jié):是把右邊變量(空間中)存儲(chǔ)的值復(fù)制一份放在左邊變量(空間中)
值類(lèi)型的賦值
賦值操作:是把右邊變量(空間中)存儲(chǔ)的值[具體的數(shù)據(jù)]復(fù)制一份放在左邊變量(空間中)
特點(diǎn):修改了其中一個(gè)變量對(duì)另外一個(gè)變量沒(méi)有影響
引用類(lèi)型的賦值
賦值操作:是把右邊變量(空間中)存儲(chǔ)的值[地址]復(fù)制一份放在左邊變量(空間中)
特點(diǎn):修改了其中的一個(gè)對(duì)象,對(duì)另外一個(gè)對(duì)象有影響
<script>
var str1 = '讓我掉下眼淚的,不止昨夜的酒';
var str2 = str1;
console.log(str2);
console.log(str1 == str2); //true
console.log(str1 === str2);//true
// 嘗試修改變量的值
str1 = '讓我依依不舍的漫蛔,不止你的溫柔';
console.log(str1);
console.log(str2);
console.log(str1 == str2); //false
var obj1 = {'name':'hello'};
var obj2 = obj1;
console.log(obj2);
console.log(obj1 == obj2); //true
console.log(obj1 === obj2);//true
// 嘗試修改變量的值
obj1.name = 'world';
obj1.age = 12;
console.log(obj1);
console.log(obj2);
console.log(obj1 == obj2); //true
console.log(obj1 === obj2);//true
obj1 = {'name':'MT', 'sex':'normal'}; //該行代碼切斷了obj2和obj1的聯(lián)系
console.log(obj1);
console.log(obj2);
console.log(obj1 == obj2); //false
console.log(obj1 === obj2);//false
console.log(obj2.sex); //undefined
</script>
值類(lèi)型的賦值
值類(lèi)型的賦值
引用類(lèi)型的賦值
引用類(lèi)型的賦值