JavaScript 对象

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

分类:

1、内建对象

由 ES 标准中定义的对象,在任何的 ES 的实现中都可以使用;

比如:Math、String、Number、Boolean、Function、Object 等。

2、宿主对象

由 JavaScript 的运行环境提供的对象,目前来讲主要指由浏览器提供的对象;

比如:BOM、DOM

3、自定义对象

由开发人员自己创建的对象

创建对象

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

var obj = new Object();

//向对象里添加属性
//语法:对象.属性名 = 属性值;
obj.name = "hu";
obj.age = 21;

//读取对象中的属性
//语法:对象.属性名;
//如果读取对象中没有的属性,会返回undefined
console.log(obj.name);//打印结果:hu
console.log(obj.age);//打印结果:21
console.log(obj.gender);//打印结果:undefined

//修改对象的属性值
//语法:对象.属性名 = 新值;
obj.name = "hu1"

//删除对象的属性
//语法: delete 对象.属性名;
delete obj.name;

使用对象字面量来创建一个对象,可以在创建时,直接指定对象中的属性,对象字面量的属性名可以加引号也可以不加建议不在,如果使用一些特殊的名字时则必须加引号。

var obj = {};
obj.name = "hu";
onj.age = 21;
//创建时直接指定对象中的属性
var obj = { name: "hu", age: 21 };

对象属性名不强制要求遵守标识符的规范,但是使用时还是尽量按照标识符的规范去做。

如果要使用特殊的属性名,不能采用 对象.属性名 的方式来操作,可以用 对象["属性名"] 来进行操作。

var obj = new Object();

obj['123'] = 456;
console.log(obj['123']);//打印结果:456
//or
var name = "123";
console.log(obj[name]);//打印结果:456

对象的属性值可以是任意的数据类型。

in 运算符,通过该运算符可以检查对象中是否含有指定的属性,有返回 true,没有返回 false。

语法:"属性名" in 对象。

对象的存储

存储机制:JavaScript 中的变量都是保存到栈内存中;

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

对象是保存到堆内存中的,每创建一个新的对象,就会在堆内存中开辟出一个新的空间,而变量保存的是对象的内存地址(对象的引用),如果两个变量保存的是同一个对象引用,当两个变量引用的是同一个对象时(对象内存地址相同),此时修改其中一个对象的属性值时,另一个也会受到影响。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值