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 小时前
TypeScript 中的类基础
javascript·ubuntu·typescript
灰子学技术8 小时前
Envoy CSRF 保护过滤器实现分析
前端·csrf
Strayer9 小时前
工艺图图在线编辑器
前端·canvas
zhangxingchao9 小时前
AI应用开发二:Embedding与向量数据库
前端·人工智能·后端
Momo__9 小时前
Vue3 v-memo:长列表渲染的性能核武器
前端·vue.js
Forever7_9 小时前
弃用 Canvas!高性能2D WebGL 引擎性能提升几十倍!
前端·canvas
李白的天不白9 小时前
webpack 压缩文件
前端·webpack·node.js
mCell9 小时前
从云相册的缩略图说起:Bun.Image 让我告别 sharp
javascript·图片资源·bun
Momo__9 小时前
Electron应用性能优化:从启动慢到秒开的7个实战技巧
前端·electron
西洼工作室9 小时前
UniApp云开发笔记
前端·笔记·uni-app