对象属于一种复合的数据类型,在对象中可以保存多个不同数据类型的属性
对象的类型
内建对象
由ES标准定义的对象
- string
- number
- function
- object
- …
宿主对象
由js运行环境提供的对象,主要指由浏览器提供的对象
- BOM
- DOM
eg:console、document
自定义对象
开发人员自己创建的对象
创建对象
使用new创建对象
var obj = new Object()
对象中保存的值为属性
- 写入:对象.属性名 = 属性值
- 读取:对象.属性名
- 删除:delete 对象.属性名
对象的属性名不一定要遵守标识符的规范
如果使用特殊属性名,需使用对象[“属性名”] = 属性值
obj["123"] = 456
读取也用这种方法
对象的属性值可以是任何值,甚至对象
var obj = new object();
var obj2 = new object();
obj2.name = "木村拓哉";
obj.test = obj2;
console.log(obj.test.name)输出结果为木村拓哉
in 运算符
可以检查一个对象中是否含有指定属性,有则返回true,没有返回false
console.log("name" in obj);
对象的属性值也可以是函数,称作对象的方法(method)
obj.sayname=function(){
console.log(obj.name)
}
obj.sayname();//调用方法
枚举
for(var n in obj){
console.log("属性名"+n);
console.log("属性值"+obj[n]);
}