网站首页 > 技术文章 正文
在 JavaScript 程序设计中,对象是一个用于存储各种数据和复杂实体的集合(包含相关属性和方法的集合体)。对象通过键(key)(value)对的方式来存储数据。对象是 JavaScript 中最常用的数据类型之一,它允许我们组织和管理程序中的相关数据。
所有事物都是对象
JavaScript 提供多个内建对象,比如 String、Date、Array 等等。 对象只是带有属性和方法的特殊数据类型。
- 布尔型可以是一个对象。
- 数字型可以是一个对象。
- 字符串也可以是一个对象
- 日期是一个对象
- 数学和正则表达式也是对象
- 数组是一个对象
- 甚至函数也可以是对象
对象的定义和创建
对象字面量
最常见的创建方式是使用对象字面量。通过 {} 括起来的键值对表示一个对象。
let person = name: "Alice",
age: 30,
greet: function() {
console.log("Hello, " + this.name);
}
};
console.log(person.name); // 输出: Alice
console.log.age); //: 30
person.greet(); // 输出: Hello, Alice
- 对象的属性:对象中的每个键值对,键称为属性名(或键),值称为属性值。
- 对象的方法:如果属性值是一个函数,则它被称为对象的方法。
使用 new Object() 创建
除了字面量方式,还可以使用 new Object() 来创建一个对象。
let person = new Object();
person.name = "Bob";
person.age = 25;
person.greet = function() {
console.log("Hello, " + this.name);
};
console.log(person.name); // 输出: Bob
person.greet(); // 输出: Hello, Bob
通常使用对象字面量更为简洁和常用。
访问对象的属性
可以通过两种方式来访问对象的属性:点(.)表示法和方括号([])表示法。
点表示法
这是最常见的访问对象属性的方法,通过点 . 后接属性名来访问属性。
console.log(person.name); // 输出: Bob
console.log(person.age); // 输出: 25
方括号表示法
方括号表示法通过 [] 来对象的属性。此方法允许我们使用的键(如变量)来访问对象,也可以用非有效标识符(如包含空格的字符串)作为属性名。
console.log(person["name"]); // 输出: Bob
// 使用变量访问属性
let key = "age";
console.log(person[key]); // 输出: 25
// 非常规属性名
let obj = {
"first name": "John",
"last name": "Doe};
console.log(obj["first name"]); // 输出: John
修改和删除对象的属性
修改属性值
对象的属性可以通过点表示法或方括号表示法进行修改
复制代码person["name"] = "Charlie"; // 使用方括号表示法修改属性
console.log(person.name); // 输出: Charlie
console.log(person.age); // 输出: 26
删除属性
使用 delete 操作符可以删除对象的属性
delete person.age; // 删除 age 属性
console.log(person.age); // 输出: undefined
猜你喜欢
- 2024-12-15 JavaScript 即将迎来新特性: Array.zip 和 Array.zipKeyed
- 2024-12-15 数组遍历归纳 数组遍历归纳思维导图
- 2024-12-15 JS数组和对象相互转换方法「实用」
- 2024-12-15 你连const怎样定义一个不能修改属性的对象都不知道?
- 2024-12-15 JS遍历(循环)——JS对象&JS数组
- 2024-12-15 Vue进阶(三十五):vue中watch详细用法
- 2024-12-15 Worksheet对象之应用进阶 worksheet function
- 2024-12-15 php 用数组语法访问对象属性 php 用数组语法访问对象属性怎么写
- 最近发表
- 标签列表
-
- cmd/c (90)
- c++中::是什么意思 (84)
- 标签用于 (71)
- 主键只能有一个吗 (77)
- c#console.writeline不显示 (95)
- pythoncase语句 (88)
- es6includes (74)
- sqlset (76)
- apt-getinstall-y (100)
- node_modules怎么生成 (87)
- chromepost (71)
- flexdirection (73)
- c++int转char (80)
- mysqlany_value (79)
- static函数和普通函数 (84)
- el-date-picker开始日期早于结束日期 (76)
- js判断是否是json字符串 (75)
- c语言min函数头文件 (77)
- asynccallback (87)
- localstorage.removeitem (74)
- vector线程安全吗 (70)
- java (73)
- js数组插入 (83)
- mac安装java (72)
- 无效的列索引 (74)