数组类型:
用"="来赋值,不会影响数组a的值,a和b互不影响
let a = [1, 2, 3]
function test(b) {
b = [20]
console.log(b); //[20]
}
test(a)
console.log(a); //[1, 2, 3]
用"."来赋值,会影响数组a的值,此时a和b用一个地址,a的值等于b的值
let a = [1, 2, 3]
function test(b) {
b.push(20)
console.log(b); //[1, 2, 3, 20]
}
test(a)
console.log(a); //[1, 2, 3, 20]
对象类型:
用"="来赋值,不会影响对象a的值,a和b互不影响
let a = { name: 'simba' }
let b = a
b = { name: 'ace' }
console.log(a); //{name: "simba"}
console.log(b); //{name: "ace"}
用"."来赋值,会影响对象a的值,此时a和b用一个地址,对象a的值等于对象b的值
let a = { name: 'simba' }
let b = a
b.name = "ace"
console.log(a); //{name: "ace"}
console.log(b); //{name: "ace"}