1.介绍 复杂的数据类型,引用数据类型,一般情况下,对象中包含了多个属性和方法。 2.对象创建方式
1.对象字面量 对象使用"{}“作为边界,对象是由多个属性(方法是一种特殊的属性)来组成,每个属性之间通过”,“分割,属性名与属性值之间通过”:"分割。属性名可以不使用双引号,当属性名中包含特殊字符一定使用双引号,属性值一般为常量或者具体的值,也可以变量
var obj = { name:"terry", age:12, sayName:function(){} };2. 使用构造函数构建对象 Object是所有对象的根对象,一个普通对象都会直接间接的继承Object
var obj = new Object(); obj.name = "terry"; obj.age = 12; => var obj = {}; obj.name = "terry"; obj.age = 12; ... var obj = {};3.属性的访问 点访问符
对象名.属性名 => obj.name中括号访问符
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] }obj可以为对象或者数组;key表示对象的属性名或者是数组的索引;在运行的时候,每次从obj中获取一个属性名或者索引赋值给key,然后执行循环体,循环…
8.in关键字
prop in obj 检测prop是否可以被obj调用