对象
JS中数据类型
String、Number、Boolean、Null、Undefined------这些都是基本数据类型,其余都是对象;
Object-----对象(引用数据类型);
基本数据类型都是单一的值,值与值之间没有任何的联系。
在JS中表示一个人能的信息(name、gender、age) 以下的每一个变量都是独立的,不能成为一个整体;
var name = 'Lisa'; var gender = '男'; var age = 18;
对象是一种复合的数据类型,在对象中可以保存多个不同数据类型的属性。
对象的分类
1.内建对象
由ES标准中定义的对象,在任何的ES的实现中都可以实现;
比如:—Math、String、Number、Boolean、Function、Object…
2.宿主对象
由JS的运行环境提供的对象,目前来讲主要指由浏览器提供的对象;比如:BOM DOM;
console.log(); //console即为对象;
3.自定义对象
开发人员自己创建的对象;
对象的基本操作
创建对象
使用new关键字调用的函数,是构造函数constructor,构造函数是专门用来创建对象的函数;
var obj = new Object();
在对象中保存的值称为属性;
向对象添加属性语法格式: 对象.属性名=属性值;
var obj = new Object();
obj.name = '小红';
obj.gender = '男';
obj.age = 18; //输出{name: '小红', gender: '男', age: 18}
读取对象的属性
语法格式:对象.属性名
obj.name
注意:读取对象中没有的属性,不会报错,会返回undefined
修改对象的属性值
语法格式:对象.属性名=新属性值
删除对象的属性
语法格式: delete 对象.属性名
delete obj.name;
注意
注意:关于对象的属性名, 不强制要求遵守标识符的规范,尽量还是规范
如果要使用特殊的属性名,不可以使用点的方式来操作
语法:对象[“属性名”]=属性值
var obj = new Object();//创建一个空对象
obj["123"] = 21;
console.log(obj["123"]);
使用 [ ] 这种形式来操作属性,更加的灵活, [ ] 中也可以放变量,这样变量是多少就会读取哪个属性
注意:关于属性值
属性值可以时任意值,也可以是对象
var obj = new Object();
var obj2 = new Object();
obj2.name = '猪八戒';
obj.test = obj2;
console.log(obj.test.name);//猪八戒
检查对象中是否有某一个对象
语法: “属性名” in 对象
console.log("name" in obj2);
显示true或false
基本数据类型和引用数据类型
- 基本数据类型比较的是值
- 引用数据类型保存的是地址
使用对象字面量
创建一个对象
var obj = {}; //创建了一个空对象
使用对象字面量可以在创建对象时,直接给对象中的属性;
语法:{属性名:属性值,属性名:属性值…}
var obj = {
name: "猪八戒",
age: 12,
gender: "男",
test: { name: "沙和尚" }
};
console.log(obj);