1、介绍
复杂的数据类型,引用数据类型,一般情况下,对象中包含了多个属性和方法。
2、 对象创建方式
(1) 对象字面量
对象使用"{}“作为边界,对象是由多个属性(方法是一种特殊的属性)来组成,每个属性之间通过”,“分割,属性名与属性值之间通过”:"分割。属性名可以不使用双引号,当属性名中包含特殊字符一定使用双引号,属性值一般为常量或者具体的值,也可以变量
var obj1 = {
name:"terry",
age:21
}
console.log(obj1);
// Object { name: "terry", age: 21 }
(2)使用构造函数构建对象
var obj2 = new Object( );
obj2.name = "terry";
obj2.age = 21;
console.log(obj2);
// Object { name: "terry", age: 21 }
3、属性的访问:
点访问符
对象名.属性名
中括号访问符
var name = "name";
obj[name]
=>
obj["name"]
4、所有的对象直接或者间接的继承Object,也就是说所有的对象都可以调用Object原型中的方法和属性。Object.prototype.xxx
constructor 构造函数,谁创建了当前对象
hasOwnProperty(prop) 判断某个属性是否属于当前对象的自有属性
propertyIsEnumerable(prop) 检测某个属性是否可以被枚举
isPrototypeOf(prop) 检测某个属性是否是原型链中的属性
toString(); 返回该对象的字符串描述信息
valueOf(); 返回该对象的数字描述信息
5、删除属性
delete obj1.name
6、对象序列化和返序列化
var obj = {name:“terry”};
将js对象转换为json字符串
var json = JSON.stringify(obj)
将json字符串转换js对象
var obj = JSON.parse(json);
7、对象的遍历
var obj = {
name:“terry”,
age:12
}
var arr = [“terry”,“larry”];
for(var key in obj){
//如何获取属性值
var value = obj[key]
}
8、in 关键字
prop in obj
检测prop是否可以被obj调用