JS学习笔记(二)
JS对象:
对象
对象是复合数据类型。
JS中一共六种数据类型,除了Object外的5种,都属于基本类型。只要类型不是以上5种基本类型,就全都是对象。
对象分类:
- 内建对象——由ES标准中定义的对象,在任何的ES的实现种都可以使用,如Math、String、Number、Function、Object、Array、Boolean、Date
- 宿主对象——由JS的运行环境提供的对象,目前来讲主要指由浏览器提供的对象。
- 自定义对象——开发人员自定义
自定义对象
创建对象。
var obj = new Object();
console.log(obj); //{}
向对象添加属性。 对象中保存的值称为属性,
语法: 对象.属性名 = 属性值;
obj.name = "my";
console.log(obj);//{ name: 'my' }
obj.gender = "male";
obj.age = 21;
console.log(obj);//{ name: 'my', gender: 'male', age: 21 }
读取对象中的属性 语法: 对象.属性名
console.log(obj.gender);//male
console.log(obj.hello);//undefined
修改对象属性值 语法:对象.属性值 = 新值
obj.name = "myrcella";//{ name: 'myrcella', gender: 'male', age: 21 }
console.log(obj);
删除delete 对象.属性名
delete obj.age;
console.log(obj);//{ name: 'myrcella', gender: 'male' }
使用[]形式操作属性,灵活,今后会常用。
//使用特殊的属性名,不用. 用[]读取。灵活常用
obj["123"] = 456;
var n = "123";
console.log(obj[n]);
console.log(obj["123"]);
对象的成员可以是对象,可以嵌套。
var test = new Object();
test.id = "001";
obj.obj = test;
console.log(obj);//{ '123': 456, name: 'myrcella', gender: 'male', obj: { id: '001' } }
console.log(obj.obj.id);//001
in 运算符
检查一个对象中是否含有指定的属性。
console.log("obj" in obj);//true