Day08_JavaScript课堂笔记

本文详细介绍了JavaScript中的对象概念,包括Object的无序集合性质、创建方式、属性读写、遍历与删除,以及如何判断对象属性存在。接着探讨了构造函数,解释了其与对象的关系,如何判断对象的构造函数,并展示了自定义构造函数的创建与实例化过程。此外,还讨论了原始类型的数据在JavaScript中的对象特性。最后,文章讲解了this的关键作用及其在不同场景下的指向规则。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Day08 JavaScript 课堂案例

1 回顾

1. Object 对象的概念
   Object 对象是值的无序集合
   Object 对象由属性组成,属性由属性名和属性值组成,属性名用字符串表示,属性值可以是任意类型的数据
   
2. 创建 Object 对象
   ① 直接量方式 {}
   ② Object 函数
   ③ Object 构造函数
   
3. 对象属性的读写
   .
   []
   
4. 遍历对象的属性
   for in
   
5. 删除对象的属性
   delete 运算符
   
6. 判断对象中是否存在某个属性
   in 运算符

2 构造函数

2.1 什么是构造函数?

1. 构造函数相当于其他编程语言中的类(class)
2. 构造函数用于构造对象。
3. 构造函数等价于数据类型,数据类型相同的对象,构造函数也相同。

2.2 构造函数和对象的关系

1. 构造函数是对象的抽象(描述),对象是构造函数的实例。
2. 一共构造函数可以创建无数个对象,一个对象只有一个构造函数。

2.3 判断对象的构造函数

① 运算符 instanceof
对象 instanceof 构造函数;
1. instanceof 是一个二元运算符,第一个操作数写个对象,第二个操作数写个构造函数
2. instanceof 所组成的表达式的值是布尔值
3. 可用来判断对象是否是某种类型的数据
② constructor 属性
对象.constructor;
该属性的值就是对象的构造函数!

2.4 自定义构造函数

// 自定义构造函数
function User(name, age, address) {
    // 给构造函数的实例添加属性
    this.name = name;
    this.age = age;
    this.address = address;

    // 给构造函数的实例添加方法
    this.getInfo = function() {
        console.log('getInfo:', this.name, this.age, this.address);
    };
}
1. 在构造函数内部,可以使用 this 表示构造函数构造出来的实例(对象), 通过 this 给实例设置属性和方法
2. 构造函数如果没有返回值或者返回原始类型数据,对实例化的结果没有影响(会创建一个新的对象)
   构造函数如果返回一个对象类型的数据,实例化的结构就是返回值
3. 建议构造函数名的首字母大写

2.5 实例化

new 构造函数名();
new 构造函数名;    // 如果构造函数没有参数,可以省略小括号
1. 根据构造函数创建对象的过程,称为实例化; 使用关键字 new 可以对构造函数进行实例化
2. 没实例化化一次构造函数,就创建一个新的对象。
3. [] 等价于 new Array();  {} 等价于 new Object()

2.6 构造函数和函数

1. 构造函数就是函数
2. 一个函数是普通函数还是构造函数取决于怎么使用,如果调用就是普通函数,如果实例化就是构造函数

2.7 原始类型的数据的对象特性

1. 原始类型的数据(number、string、boolean) 具有两种形态,值的形态和对象的形态,两种形态可以自动转换。
2. 一个值,如果当做对象去使用,临时创建一个对象,所有的操作基于该临时对象,执行完毕后,临时对象会销毁。
3. 对象类型的数据(array、object、function、自定义类型),只有对象形态
4. null 和 undefined 没有对象形态,不算对象。

3 this

3.1 this 的含义

1. this 是系统定义好的变量,值是提前设置好的。
2. 一般在构造函数或者函数中使用。

3.2 this 的指向

在构造函数中使用 this : this 指向构造函数构造出来的实例(对象)。

在函数(方法)中使用 this: this 指向调用该函数(方法)的对象。

3.3 window 介绍

1. window 是浏览器端 JS 中的全局对象。
2. 所有的全局变量本质上是 window 的属性或方法。
3. 使用 window的属性和方法可以省略 window.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

人生本该如此

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值