对象的创建方法:
1 var obj = { } plainObject 对象字面量/对象直接量
如
var obj = {
lastName : “ABC”,
age : 40,
sex : undefined,
son : false,
health : 100;
drink : function(){
console.log(“i an drink”);
this.health ++;
}
}
2 构造函数
2.1 系统自带的构造函数 Object()
如
var obj = new Object();
然后可以往里面添加属性
2.2 自定义构造函数(命名最好遵守大驼峰式命名规则 这是用来区别正常函数的特点 如 TheFirstName)
且必须需要通过new 的方式来获取对象 不过不是new 则当做正常的函数执行
构造函数的内部原理:
1.在函数体最前面隐式的加上var this = { }
2.执行 this.xxx = xxx;
3.隐式的返回this
如
function Car(color){
//这里相当于在对象函数体的第一行隐式的加上 var this = { }
//然后执行下面语句 依次往this对象里面装东西
this.color = color;
this.name = ‘BMW’;
this.weight = 1000;
this.health = 100;
this.run = function(){
this.health —;
}
//在对象函数体的最后相当于隐式的 return this
//如果这里人为的加上return语句 除了返回原始值无效之外 返回其他的都会把this给覆盖
//比如 return 123; 返回原始值无效 依旧返回this
//return { }; 返回{ } this无法返回
}
var car = new Car(‘red’);
若想增加对象里的属性可以 对象.属性名 = 值 的方式 如 obj.wife = “ahah”;
若想查询里面的值可以 对象.属性名 的方式 如 obj.age;
即使对象中没有这个属性 也会返回undefined 不会报错
若想删除某个属性 可以 delete 对象.属性名 返回结果是布尔类型的
即使对象中没有这个属性 删除后也会给你返回true
若想修改对象某个属性的值可以 对象.属性名 = 值 的方式 如 obj.age = 50;