js数据类型分为基本数据类型跟引用数据类型
基本数据类型:underfined null String Number boolean ,存在栈中,可以自动释放内存
引用数据类型:Object Array 且 Function也属于引用数据类型 只是在栈中存了个地址,数据存在堆中,要手动去释放内存
如果是引用数据类型,把他赋给另一个值得话,直接修改赋给得那个值,之前得值也会被修改,因为引用数据类型存在堆中,然后在栈中存了个地址,把一个引用数据类型复制给另一个,也只是给引入了相同得地址,但值还是之前得,所以修改会修改到初始得值
let arr = [1,2,3,4]
let arr1 = arr //在这里只是把arr在栈中的地址给了arr1,他们的值还是之前的值
arr1[0] = '你好' // 所以这里修改了值,还是修改的原始值
console.log(arr) // ['你好',2,3,4]
let obj = {
name:"王大锤",
age:1,
}
let obj1 = obj
obj1.name = '赵大锤'
console.log(obj.name) // 赵大锤