目录
一·对象的简介
对象:属于一个复合的数据类型,可以保存多种不同的数据类型的属性
对象分类:
1·内建对象
由ES标准中定义的对象,在任何的ES的实现中都可以使用
如;Math String Number Boolean Function Object.....
2·宿主对象
由JS的运行环境提供的对象,主要指由浏览器提供的对象
如:BOM DOM
3·自定义对象
由开发人员自己创建
为什么要引入对象呢?
在JS的由五种基本数据类型分别是Number Boolean String Null Undefined ,这五种基本数据类型有着不足,如我要表示一个人的信息(name gender age)
var name = "二郎神";
var gender = "男";
var age = 200;
但是这些数据都是独立的,并不是一个整体,这时候就需要使用对象了
二·对象的基本操作
在进行操作时先要创建一个对象
使用new关键字调用的函数,是构建函数constructor
构造函数是专门用来创建对象的函数
使用typeof检查一个对象时,会返回object
var obj = new Object();
/*
* 在对象中保存的值称为属性
* 向对象添加属性
* 语法 对象.属性名 = 属性值;
*/
obj.name = "孙悟空";
obj.age = 18;
//读取
console.log(obj.age);
//修改
obj.age=19;
console.log(obj.age);
//删除
delete obj.age;
console.log(obj.age);
三·属性名和属性值
向对象中添加属性
对象的属性名不强制要求遵守标识符的规范
但是尽量使用时还是遵守标识符规范
obj.name = "w";
如果要使用特殊的属性名,不能采用.的方式
需要使用另外的方式
语法 : 对象["属性名"] = 属性值
读取也需要采用这种方式
obj["123"] = 789;
console.log(obj["123"]);
使用[]这种形式去操作属性,更加灵活,在[]中可以直接传送一个变量,这样变量值是多少就会读取那个属性。JS对象的属性值,可以时任意的数据类型 甚至可以是一个对象
obj.test = true;
obj.test = null;
obj.test = undefined;
var obj2 = new Object();
obj2.name = "猪八戒";
obj.test = obj2;
console.log(obj.test);