JavaScript对象基本用法

在JavaScript中,对象(Object)是一种用于存储键值对(key-value pairs)的数据结构。对象可以包含多种数据类型,并且可以被视为一种灵活的、易于扩展的数据集合。以下是一些关于JavaScript对象的基本概念和使用方法:

创建对象

1. 使用对象字面量
let person = {
    name: "Alice",
    age: 30,
    greet: function() {
        console.log("Hello, my name is " + this.name);
    }
};
2. 使用new Object构造函数
let person = new Object();
person.name = "Alice";
person.age = 30;
person.greet = function() {
    console.log("Hello, my name is " + this.name);
};
3. 使用Object.create方法
let proto = {
    greet: function() {
        console.log("Hello, my name is " + this.name);
    }
};
let person = Object.create(proto);
person.name = "Alice";
person.age = 30;

访问和修改对象属性

1. 点(.)表示法
console.log(person.name);  // 输出: Alice
person.age = 31;
2. 方括号([])表示法
console.log(person["name"]);  // 输出: Alice
person["age"] = 31;

方括号表示法适用于动态属性名或属性名包含特殊字符的情况:

let key = "age";
console.log(person[key]);  // 输出: 31

删除对象属性

delete person.age;
console.log(person.age);  // 输出: undefined

检查属性是否存在

if ("name" in person) {
    console.log("Name exists");
}

if (person.hasOwnProperty("name")) {
    console.log("Name is a direct property");
}

遍历对象属性

1. for...in循环
for (let key in person) {
    if (person.hasOwnProperty(key)) {
        console.log(key + ": " + person[key]);
    }
}
2. Object.keysObject.valuesObject.entries
let keys = Object.keys(person);
let values = Object.values(person);
let entries = Object.entries(person);

console.log(keys);  // 输出: ['name', 'greet']
console.log(values);  // 输出: ['Alice', f]
console.log(entries);  // 输出: [['name', 'Alice'], ['greet', f]]

嵌套对象

对象可以嵌套在其他对象中,形成更复杂的数据结构:

let address = {
    city: "Wonderland",
    zip: "12345"
};

let person = {
    name: "Alice",
    age: 30,
    address: address
};

console.log(person.address.city);  // 输出: Wonderland

冻结和密封对象

1. 冻结对象(Object.freeze

冻结后的对象不能添加新属性,不能删除现有属性,也不能修改现有属性的值。

let frozenPerson = Object.freeze(person);
frozenPerson.age = 35;  // 无效操作
console.log(frozenPerson.age);  // 输出: 30
2. 密封对象(Object.seal

密封后的对象不能添加新属性,但可以删除现有属性,也能修改现有属性的值。

let sealedPerson = Object.seal(person);
delete sealedPerson.name;  // 有效操作
sealedPerson.age = 35;  // 有效操作
console.log(sealedPerson.age);  // 输出: 35

这些是JavaScript对象的基本概念和操作。对象在JavaScript编程中非常强大和灵活,能够很好地满足各种数据组织需求。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值