对象:具体特制某个事物,有特征(属性)和行为(方法),对象可以看成一个无序属性的集合;
创建对象的四种方法:
1.字面量法:
var person={
"name":"小红",
"age":19,
"eat":function(){
console.log("喜欢吃榴莲");
}
}
//调用方式,有两种 [""] 必须加引号,不然出错
person.name; person['name'];
person.age; person['age'];
person.eat(); person['eat']();
2.构造函数法
//它与工厂模式的区别就是首字母是否大写,大写为自定义构造函数
//语法是先定义构造函数再创键对象
function Person(name,age){
this.name=name;
this.age=age;
this.eat=function(){
console.log("喜欢吃榴莲");
}
}
//调用方式
var per1 =new Person('小红',19);
per1.name;
per1.age;
per1.eat();
per1 instanceof Person; //true
3.工厂模式
//工厂模式存在的意义,本质就是为了自定义构造函数做的铺垫而已
//与构造函数的区别,在方法里面定义对象,有返回值
function createObj(name,age){
var obj = new Object();
obj.name=name;
obj.age=age;
obj.eat=function(){
console.log("喜欢吃榴莲");
}
return obj;
}
//调用方式
var per1= creatObj('小芳',20);
per1.name;
per1.age;
per1.eat();
per1 instanceof Person; //false
per1 instanceof Object; // true
4.系统构造对象
var obj = new Object();
obj.name="小红";
obj.age=20;
obj.eat=function(){
console.log("喜欢吃榴莲");
}
//调用方式
obj.name;
obj.age;
obj.eat();