①.new Object的方式创建对象
var p1 = new Object();
p1.name = '小红';
p1.age = '6';
p1.gender = true;
p1.eat = function(){
alert('吃火腿');
}
console.log(p1);//{name: "小红", age: "6", eat: ƒ}
console.log(p1.name);//小红
console.log(p1.age);//6
console.log(p1.gender);//true
p1.eat();//alert弹出 吃火腿
②.工厂的方式创建对象
function person(name,age){
var p1 = new Object();
p1.name = name;
p1.age = age;
p1.eat = function(){
alert('吃火锅');
}
return p1;
}
var obj = person('小红',8);
console.log(obj);//{name: "小红", age: 8, eat: ƒ}
③.构造函数的方式创建对象
function Person(name,age){
this.name = name;
this.age = age;
this.eat = function(){
alert('吃火锅');
}
}
var obj = new Person('小红',6);//通过构造函数实例化对象
console.log(obj);//Person {name: "小红", age: 6, eat: ƒ}
使用instanceof检查一个对象是否是一个类的实例,是返回true,否返回false。
检查对象obj是否是类Person的一个实例
console.log(obj instanceof Person);//true
注:任何对象和object做instanceof检查时都会返回true。
④.字面量的方式创建对象
var obj = {
name: '小红',
age: 6,
eat: function() {
alert('吃火锅');
}
};
console.log(obj);//{name: "小红", age: 6, eat: ƒ}