JavaScript 对象

本文详细介绍了JavaScript中的Object对象,包括其定义、声明方式、属性读写、遍历和删除,以及构造函数的概念、实例化和自定义。此外,还探讨了this的含义及其在不同场景下的指向。最后,提到了全局对象window在JavaScript中的作用。

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

Day 08 JavaScript 笔记

1 Object 对象

1.1 什么是 Object

  • Object 是值的无序集合。
  • Object 由属性组成,属性有属性名和属性值。
  • 属性的值可以是任意类型的数据。属性值如果是function 类型的数据,这种属性可以成为方法。

1.2 如何声明 Object 对象

① 第一种 直接量方式
// 创建一个空的的对象
var obj1 = {};

// 创建一个带有属性的 object 类型的数据
var obj2 = {
    name: '芳芳', 
    age: 18,
    getInfo: function() {
        console.log('get info 函数');
    },
    users: [100, 200, 300, 400],
    'address': '上海',
    'user-info': 'hello'
};

**注意:**属性名的形式是字符串,属性名的格式没有任何要求;如果属性名满足标识符的命名规范(变量的命名规范),可以省略引号。

② 使用 Object 函数
var obj = Object();
③ 使用 Object 构造函数
var obj = new Object();

1.3 Object 对象属性的读写

① 语法
// 点语法
obj.属性名;
obj.属性名 =;

// [] 语法
obj['属性名'];
obj['属性名']();
② 什么情况下必须使用[] 语法读写属性
1、属性名不满足标识符命名规范
2、使用变量表示属性名

1.4 遍历对象属性

// for in 遍历 Object 所有的属性
for (var prop in obj) {
    console.log(prop, obj[prop]);
}

1.5 删除对象中的属性

使用delete 运算符,删除对象中的属性。

delete 对象.属性名;
delete 对象["属性名"];

1.6 判断对象中是否存在某个属性

使用 in 运算符,这是 二元运算符,组成的表达式返回布尔值。

"属性名" in 对象

2 构造函数

2.1 什么是构造函数

JS 中的构造函数相当于其他编程语言中的类。

构造函数用于产生创造一个对象。

相同数据类型的对象,构造函数必定是一致的。数据类型等价于构造函数。

2.2 构造函数和对象的关系

构造函数是对象的抽象(描述),对象是构造函数的实例。

一个构造函数可以对应多个对象,一个对象只能有一个构造函数。

2.3 判断对象的构造函数

① 运算符 instanceof

判断一个对象是否是某个构造函数的实例,这是一个二元运算符,所组成的表达式的值是布尔值。

对象  instanceof  构造函数;
② constructor 属性

所有的对象都具有 constructor 属性,通过该属性可以得到对象的构造函数。

对象.constructor 

2.4 自定义构造函数

// 自定义构造函数
function User(username, pwd, address) {
    // 给对象设置属性
    this.username = username;
    this.pwd = pwd
    this.address = address;

    // 给对象设置方法
    this.getInfo = function() {
        console.log('我叫' + this.username + ',我的密码是' + this.pwd + ',我的地址是' + this.address);
    };
}

构造函数特点

​ 1、函数还是构造函数取决于怎么去用,如果实例化就是构造函数,调用就是函数。

​ 2、实例化构造函数的时候,函数中的语句都会被执行到。

​ 3、构造函数中的return 语句对实例化结果的影响:① 如果构造函数没有返回值,或者返回原始类型的数据,对实例化结果毫无影响。② 如果构造函数返回一个对象类型的数据,实例化的结果就是该返回值。

2.5 实例化

使用 new 关键字实例化构造函数,可以创建出该构造函数的实例(对象)

new 构造函数()

3 this

3.1 this 的含义

1、this是JS 内置的一个变量,本质上是一个对象

2、通常在函数或方法中使用,代表这个函数的调用者。

3.2 this 的指向

this 的指向就是this 的值,this在不同的地方使用,this 的指向是不同的。

this 的指向分为两种情况:

1 在构造函数中使用this : this 指向构造函数的实例。

2在方法(函数)中使用this : 谁调用了该方法,this 指向谁。

3.3 window 介绍

  • JS 中有一个全局对象,运行在浏览器上的JS ,全局对象是window。
  • 全局变量(包括全局函数)其实本质上是全局对象的属性(或方法)。
  • 使用全局对象的属性或方法,可以省略window。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值