js push() 函数使用踩坑

let testData = {name:''}

let teatArr = []

teatArr.push(testData)

teatArr.push(testData)

teatArr[0].name='jemi' // 或者testData.name = 'jemi'

console.log('teatArr:',teatArr)

打印出来结果:

所以push函数的参数是一个实体对象时,改变它的数据,同时也会改变使用push的对象,也就是push(参数项),参数项还存在引用关系(指向同一个内存区域),可以使用push(lodash.cloneDeep(参数项))深度拷贝对象

猜你喜欢

转载自blog.csdn.net/zhongmei121/article/details/93661554