js中对象的属性要注意的点以及在vue中watch对象的属性的方法

取对象值有两种方式,

const obj={

a:'1'

}

obj.a或者obj['a'],中括号还可以写成

const name = 'a'

obj[name]和obj['a']是一个意思。

然后在vue的watch要监听对象的属性,写法是

watch:{

'obj.a'(new,old){}

}

这样的方式。

然后对象的深度拷贝可以通过自己手写递归来实现,也可以通过JSON.parse(JSON.stringify(obj))来实现。

手写递归的话

function deepClone(duixiang){

if(duixiang===null||typeof duixiang !== 'object') return duixiang

let clone=Array.isArray(duixiang)?[]:{}

for(let item in duixiang){

if(duixiang.hasOwnProperty(item)){

clone[item] = deepClone(duixiang[item])

}

}

return clone

}

const newObj = deepClone(obj)

相关推荐
赵_叶紫8 分钟前
Docker 从入门到部署实战
前端
PD我是你的真爱粉12 分钟前
Vue 3 生命周期完全指南:从流程图到最佳实践
前端·vue.js·流程图
耀耀切克闹灬18 分钟前
前端签章数据的模板处理
前端
用户68026590511922 分钟前
全栈可观测性白皮书——实施、收益与投资回报率
javascript·后端·面试
掘金安东尼31 分钟前
⏰前端周刊第 454 期(2026年2月16日-2月22日)
前端·javascript·面试
掘金安东尼44 分钟前
⏰前端周刊第 453 期(2026年2月9日-2月15日)
前端·javascript·面试
Amumu121381 小时前
CSS进阶导读
前端·css
Wcowin1 小时前
为Zensical添加 GitHub 仓库卡片
javascript·github·zensical
anyup1 小时前
uniapp开发的鸿蒙应用上架后,竟然月入4000+
前端·vue.js·harmonyos
无尽的沉默1 小时前
使用Thymeleaf配置国际化页面(语言切换)
前端·spring boot