【JS基础】对象

对象

之前我们认识了String、Number、Boolean、Null、Undefined五种基础数据类型。今天我们来认识Object这一引用数据类型,即对象

基本数据类型,值与值之间没有任何的联系,都是独立的,不能成为一个整体。

对象是一种复合的数据类型,在对象中可以保存多个不同数据类型的属性。

对象的分类:

  1. 内建对象:由ES标准中定义的对象,在任何的ES的实现中都可以使用。
    如Math String Number Function 等等。
  2. 宿主对象:由JS的运行环境提供的对象,目前主要是指浏览器提供的对象。
    如BOM DOM
  3. 自定义对象:由开发人员自己创建的对象。

创建对象

var obj = new Object

使用new关键字调用的函数,是构造函数constructor。
构造函数是专门用来创建对象的函数。

使用typeof检查对象时,会返回object。

在对象中添加的值称为属性,向对象添加属性语法:对象.属性名 = 属性值;

obj.name = '孙悟空'

读取属性语法:对象.属性名;

console.log(obj.name);

若读取对象中没有的属性,不会报错,会返回undefined。

修改属性语法:对象.属性名 = 新值;

删除属性语法:delete 对象.属性名;

对象的属性名不强制要求遵守标识符的规范。但是使用时尽量按照标识符的规范。
如果要使用特殊的属性名,不能采用.的方式来操作。只能用对象["属性名"] = 属性值;
用[]操作属性更加灵活,在[]中可以直接传递一个变量,变量值时多少就会读取那个属性。
在这里插入图片描述
属性值可以是任意的数据类型。对象也可以是属性值。

in 运算符,通过该运算符可以检查一个对象中是否含有指定的属性。

console.log("text" in obj);

基本数据类型的值是直接在栈内存中存储,值与值之间是独立存在,修改一个变量不会影响其他变量。

对象是保存在堆内存中储存的,每创建一个新的对象,都会在堆内存中开辟出一块新的空间,而变量保存的是对象的内存地址(对象的引用)。如果两个变量保存的是同一个对象的引用,这两个变量的值是同步修改的。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
当我们比较基本数据类型时,就是比较的两个值,如果比较两个引用数据类型,则比较的是地址,即使对象一模一样,地址不同也会返回false。

对象字面量

使用对象字面量创建对象。

var obj = {};
var obj2 = {
	name:"孙悟空",
	gender:"male"
}

属性名可以加上""但是一般不加。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

cheerio_inf

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

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

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

打赏作者

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

抵扣说明:

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

余额充值