1.对象简介
对象是一种符合的数据类型,一个对象中可以储存多种数据类型。
1.1 对象分类
内建对象
ES标准中定义的对象,如Function,Math,Object,Number...
宿主对象
JS运行环境提供的对象,目前来说主要是由浏览器提供的对象,如DOM,BOM
自定义对象
开发人员自己定义的对象
1.2创建对象
关键字new调用的构造函数constructor(专门用来构造对象的函数)
var obj = new Object();
对象中保存的值称为属性,属性分为属性名和属性值,
如下图name,gender是属性名,孙悟空,男是属性值
/ /向obj中添加一个name属性
obj.name ="孙悟空" ;
/ /向obj中添加一个gender属性
obj. gender ="男 " ;
/ /向obj中添加一个age属性
obj.age = 18;
/ /向obj中修该一个age属性
obj.age = 20;
/ /删除obj中的一属性 delete 对象.属性名
delete obj.gender
1.3属性名与属性值
属性名
对象的 属性名不强制要求遵守标识符的规范
什么乱七八糟的名字都可以使用
但是我们使用是还是尽量按照标识符的规范去做
如果要使用特殊的属性名,不能采用.的方式来操作
需要使用另一种方式:
语法:对象["属性名"] =属性值
obj["565"] = 159;
属性值
属性值可以是任意数据类型,包括对象
in运算符
通过该运算符可以检查-一个对象中是否含有指定的属性
如果有则返回true,没有则返回false
语法:
"属性名” in 对象
JS中的变量都是保存到栈内存中的,
基本数据类型的值直接在栈内存中存储,
值与值之间是独立存在,修改一个变量不会影响其他的变量
![](https://i-blog.csdnimg.cn/blog_migrate/bfd1b4e154da3f6e243f43600d0c5476.png)
1.4对象字面量
语法
var obj = {
属性名: 属性值,
属性名: 属性值,
属性名: 属性值,
...
};