1.直接赋值和引用赋值的区别?
(1)直接赋值
let str = "aaa";
let str2 = str; //这里是直接赋值
str2 = "aaa222";
console.log(str); //输出aaa
console.log(str2); //输出aaa222
(2)引用赋值:主要是数组跟对象的变量之间的赋值
let arr=['1','2','3']; //数组
let arr2 = arr; //这里是引用赋值
arr2[0] = '2';
console.log(arr); //输出2,2,3
console.log(arr2); //输出2,2,3
let obj =[
{name:'xiaoming',age:'18'},
{name:'hong',age:'11'}
]; //对象
let obj2 = obj; //这里是引用赋值
obj2[0].name = 'huahua';
console.log(obj); //输出...{name:'hong',age:'11'}
console.log(obj2); //输出...{name:'hong',age:'11'}
字符串中使用直接赋值不用担心,但是到了数组和对象变量,就要注意引用的改变了。