一、创建方式
1、对象初始化器方式
格式:objectName = {property1:value1, property2:value2,…, propertyN:valueN}
例子:var user = {name:’zhangsan’,age:12};
是不是很像json格式。可以说json是符合json格式的js对象,但是json的值类型没有js对象丰富。
2、构造函数方式,通过new实例化对象
格式:function functionName(){};
例子:function User(name,age){
this.name = name;
this.age = age;
}
var user = new User(“zhangsan”,12);
二、属性的定义
对象中的属性可以有三种属性,私有属性、实例属性、类属性。
定义: 在构造方法中定义的变量都属于私有属性。
在构造方法中使用this.pName或者使用className.prorotype.pName定义的属性为实例属性
使用className.pName定义的属性为类属性
例子:function User(name,age){
this.name = name;
this.age = age;//对象属性
var birthday = ”;//私有属性
User.salary = 120;//类属性
}
User.prototype.sex = ‘boy’;//实例属性
user.edu = ‘high school’ ;类属性
三、方法的定义
方法的定义和使用同属性相同,参见属性的使用
四、特殊方式定义属性和方法
可以使用index方式来定义和使用属性和方法,注意,通过这种方式定义的属性和方法只能通过这种方式进行引用,不能通过上面的普通方式(自己测试可以使用,不知道为啥这么说)。
例子:function User(name,age){
this[‘name’] = name;
this[‘age’] = age;
}
五、属性和方法的动态添加和删除
对于已经实例化的对象,我们可以动态增加和删除它的属性与方法
添加使用:obj.prototype.name=
删除使用:delete obj.name