对象就是可以拥有属性和方法的一个集合
JavaScript 提供多个内建对象,比如 Object、String、Date、Array 等等,此外 JavaScript 允许自定义对象。
例一
var mrDeng = {
###// 属性://属性值
name : "MrDeng",
age : 40,
sex : "male",
health : 100,
### // 方法
obj.say=function(){ //say方法
//code
}
smoke : function(){
console.log("I am smoking!");
mrDeng.health --;
},
drink : function (){
console.log("I am drinking");
mrDeng.health ++;
}
}
mrDeng.wife = "xiaoliu";//可以加属性,也可以删除delete,也可以在控制台里面写 delete mrDeng.age
例二
var deng = {
prepareWife :"xiaowang",
name : "laodeng",
sex :"male",
gf :"xiaoliu",
wife :"",
divorce : function(){
delete this.wife;
this.gf = this.prepareWife;
},
getMarried : function(){
this.wife = this.gf;
},
changePrepareWife : function (someone) {
this.prepareWife = someone;
}
}
this是JavaScript语言的一个关键字。
它代表函数运行时,自动生成的一个内部对象,只能在函数内部使用。
随着函数使用场合的不同,this的值会发生变化。但是有一个总的原则,那就是this指的是,调用函数的那个对象。
对象的创建方法
1、通过new关键字创建对象 var obj = new Object();
2、通过字面量创建对象(例一) var obj = {} plainObject 对象字面量/对象直接量
3、构造函数创建对象
1)系统自带的构造函数 new Object()
var obj = new Object();
obj.name = 'abc';
obj.sex = 'male';
2)自定义
function person() {}
var person1 = new person();
**大驼峰命名规则 TheGirlIs--小驼峰命名规则 theGirlIs 例三
function Car(color) {
this.color = color; //传参选颜色
this.name = "BMW";
this.height = "1400";
this.lang = "4900";
this.weight = 1000;
this.health = 100;
this.run = function(){
this.health --;
}
}
var car = new Car('red');
var car1 = new Car('green');
car.name = "Maserati";
car1.name = "Merz";
改变一个对象的值另外一个不变
例四
function Student(name,age,sex){
1//var this = {
2//name:''
// age :
// };AO{this:{name:'xiong'}}
this.name = name;
this.age = age;
this.sex = sex;
this.grade = 2017;
3 //return this;
}
var student = new Student('xiong',22,'female')