js对象操作常用方法

一、创建对象

1.字面量创建

javascript 复制代码
//字面量创建
let obj = {a:1}

2.构造函数创建

javascript 复制代码
//构造函数创建
function Person(name,age){
    this.name = name;
    this.age = age;
}
let person = new Person('Bob',12);

二、访问对象属性

1.点符号

javascript 复制代码
let obj = {a:1}
obj.a

2.方括号

javascript 复制代码
let obj = {a:1}

obj['a']    //1

三、添加属性

javascript 复制代码
obj.c = 3;
obj['d'] = 4;

四、删除属性

javascript 复制代码
delete obj.a

五、判断属性是否存在

1.in运算符

javascript 复制代码
let obj = {a:1,b:2}

'a' in obj    //true

2.hasOwnProperty方法

javascript 复制代码
obj.hasOwnProperty('a'); // true

六、遍历对象属性

1.for...in...循环

javascript 复制代码
for (let prop in obj) {
    if (obj.hasOwnProperty(prop)) {
        console.log(`Key: ${prop}, Value: ${obj[prop]}`);
    }
}

2.Object.keys,Object.values,Object.entries

javascript 复制代码
Object.keys(obj).forEach(key => console.log(key));
Object.values(obj).forEach(value => console.log(value));
Object.entries(obj).forEach(([key, value]) => console.log(`${key}: ${value}`));

七、深拷贝与浅拷贝

1.浅拷贝

javascript 复制代码
let obj = {a:1}
let shallowCopy = Object.assign({},obj)

2.深拷贝

javascript 复制代码
let obj = {a:1}
let deepCopy = JSON.parse(JSON.stringify(obj))

八、合并对象

Object.assign

javascript 复制代码
let obj2 = { e: 5 };
let merged = Object.assign({}, obj, obj2);

九、其他方法

1.Object.is() 比较两个值是否严格相等

javascript 复制代码
Object.is(obj, obj); // true

2.Object.defineProperty() 定义或修改属性,并返回该对象

javascript 复制代码
let obj = {}
Object.defineProperty(obj, 'f', { value: 6, writable: true, enumerable: true, configurable: true });
console.log(obj)    //{f:6}
相关推荐
yume_sibai1 小时前
大屏数据可视化 - 边框红绿呼吸灯实现详解
前端·信息可视化·typescript
竹林8181 小时前
从 ethers.js 迁移到 Viem:一个签名验证 Bug 让我彻底放弃旧爱
javascript
Hyyy1 小时前
很多Desktop都在上的Computer Use是什么
前端·llm
慢功夫1 小时前
开篇:VS Code 为什么不是一个普通 React App
前端·visual studio code
jimy11 小时前
C语言模拟对象、方法:“函数指针+结构体“复用函数指针指向的函数体
c语言·开发语言
你挚爱的强哥2 小时前
Vue2 实现 1.5s 十连击监听(连续点击若干次),封装通用可复用点击检测工具,不用 data!Vue 封装通用连击监听方法,支持自定义时长与点击次数
前端·javascript·vue.js
半个落月2 小时前
用 LangChain.js 手写一个能读写文件和执行命令的 Mini Cursor
javascript·人工智能·后端
天外天-亮2 小时前
HBuilder X 使用 uview-plus 方式
开发语言·javascript·hbuilder x·uview-plus
huashengzsj2 小时前
Shopify个人建站如何搭建独立站:从零开始的完整指南
前端·网络·人工智能
木木子222 小时前
[特殊字符] 音乐播放器——状态驱动的多媒体控制
android·开发语言·华为·php·harmonyos