目录
对象属于一种复合的数据类型,在对象中可以保存多个不同数据类型的属性。对象是具有一些特殊特性的关联数组。
它们存储属性(键值对),其中:
- 属性的键必须是字符串或者 symbol(通常是字符串)。
- 值可以是任何类型。
对象的分类:
1.内建对象
由ES标准中定义的对象,在任何的ES的实现中都可以使用
比如:Math String Number Boolean Function Object...
2.宿主对象
由JS的运行环境提供的对象,目前来讲主要是指浏览器提供的对象
比如:BOM DOM
3.自定义对象
由开发人员自己创建的对象
一、创建对象
1.使用构造函数创建
使用new关键字调用的函数,是构造函数constructor,构造函数是专门用来创建对象的函数
let obj = new Object()
2.使用对象字面量创建
使用对象字面量来创建一个对象 :
let obj = {}
使用对象字面量来创建对象时,可以直接指定对象中的属性
语法:
{属性名:属性值,属性名:属性值,....}
对象字面量的属性名可以加引号也可以不加,建议不加,如果要使用一些特殊的名字,则必须加引号。
属性名和属性值是一组一组的名值对结构,名和值之间使用 : 连接,多个名值对之间使用 , 隔开。
如果一个属性只会没有其他的属性了,就不要写 ,
let obj2 = {
name:"Tom",
age:12,
gender:"男",
test:{
name:"LiLi"
}
}
二、属性名和属性值
属性名:
对象的属性名不强制要求遵守标识符的规范,但是我们使用时还是尽量按照标识符的规范去做。
var obj = new Object()
obj.name = "Tom"
如果要使用特殊的属性名,不能采用 . 的方式来操作,需要使用另一种方式:
语法:
对象["属性名"] = 属性值