JavaScript 对象基础

JavaScript 对象基础

1. 什么是对象

对象(object)是 JavaScript 中的一种数据类型,可以理解为无序的数据集合。与数组不同,数组是有序的数据集合,而对象则是通过键值对的方式来存储数据的。

对象通常用来描述某个具体事物,它既可以包含静态特征(属性),也可以包含动态行为(方法)。

  • 属性(Property):用来描述事物的特征,如人的姓名、年龄、性别等。
  • 方法(Method):用来描述事物的行为,如吃饭、睡觉、打代码等。方法本质上是对象中的函数。

例子:

let teacher = {
    name: "王老师",
    age: 30,
    gender: "男",
    teach: function() {
        console.log("在教书");
    }
};

总结

  • 对象是一种无序的数据集合。
  • 可以用对象来详细描述某个事物的属性和行为。

2. 对象使用

2.1 对象的声明

对象通常使用花括号 {} 进行声明,这种方式称为对象字面量语法。可以在声明时直接给对象添加属性和方法:

语法:

let 对象名 = {
    属性名: 属性值,
    方法名: function() {
        // 方法逻辑
    }
};
2.2 对象的属性与方法

对象由属性方法组成:

  • 属性(名词):描述对象的特征。
  • 方法(动词):描述对象的行为,方法的本质是对象内部的函数。

例子:

let phone = {
    brand: "Apple",
    color: "black",
    call: function() {
        console.log("打电话中...");
    }
};
2.3 对象的增删改查

对象中的属性可以被增、删、改、查,操作语法如下:

  • 对象名.属性名对象名['属性名']
  • 对象名.新属性名 = 值
  • 对象名.属性名 = 新值
  • delete 对象名.属性名

例子:

let car = {
    brand: "Toyota",
    color: "red"
};

// 增加属性
car.price = 20000;

// 修改属性
car.color = "blue";

// 删除属性
delete car.color;

// 查询属性
console.log(car.brand); // 输出 "Toyota"

总结

  • 查找属性的方式有两种:点语法 对象.属性 和方括号语法 对象['属性']
  • 增加和修改属性的语法一致,判断标准是对象中是否已有该属性。
  • 删除属性使用 delete 关键字。
2.4 对象中的方法

对象中的方法表示对象的行为,通常通过以下语法来调用对象方法:

对象名.方法名();

方法可以像函数一样传递参数,也可以返回值。与函数使用方法一致。

例子:

let person = {
    name: "小明",
    sayHi: function() {
        console.log("你好,我是" + this.name);
    }
};

person.sayHi(); // 输出 "你好,我是小明"

3. 遍历对象

3.1 for...in 遍历

JavaScript 中可以使用 for...in 语句来遍历对象的属性。for...in 遍历时会遍历对象的所有可枚举属性,包括原型链上的属性(如果存在)。

语法:

for (let 属性名 in 对象名) {
    console.log(属性名 + ": " + 对象名[属性名]);
}

例子:

let student = {
    name: "小明",
    age: 18,
    grade: "高三"
};

for (let key in student) {
    console.log(key + ": " + student[key]);
}

总结

  • for...in 用于遍历对象属性。
  • for...in 中的变量 key 是对象的属性名,对象名[key] 可以得到属性对应的值。

4. 内置对象

JavaScript 提供了一些内置对象供开发者使用,如 MathDateStringArray 等。这些内置对象包含各种属性和方法,可以直接调用来处理相应的数据。

4.1 Math 对象

Math 对象是一个“数学”对象,提供了一系列数学运算的方法:

  • Math.random():生成 0 到 1 之间的随机数(不包括 1)。
  • Math.floor():向下取整。
  • Math.ceil():向上取整。
  • Math.max():返回一组数中的最大值。
  • Math.min():返回一组数中的最小值。
  • Math.abs():绝对值。

例子:

console.log(Math.random()); // 生成一个随机数
console.log(Math.floor(4.7)); // 向下取整,输出 4
console.log(Math.max(1, 2, 3)); // 输出 3
4.2 生成任意范围的随机数

可以通过 Math.random() 来生成指定范围的随机数:

语法:

Math.floor(Math.random() * (最大值 - 最小值 + 1)) + 最小值;

例子:

let randomNum = Math.floor(Math.random() * (10 - 1 + 1)) + 1; // 生成 1 到 10 的随机数
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值