1、调用构造函数创建对象
var obj = new Object();
// 创建一个人的对象
var person = new Object();
person.name = "小甜";
person.age = 23;
person.eat = function () {
//在当前这个对象的方法中是可以访问当前这个对象的属性的值
console.log("我叫" + this.name + "," + "我爱吃火锅");
};
person.eat();
工厂模式创建对象
//工厂模式创建对象
function cObj(name,age) {
var obj = new Object(); // 创建对象
//添加属性
obj.name = name;
obj.age = age;
//添加方法
obj.eat = function () {
console.log("我叫" + this.name + ",,," + this.age + "岁" + ",,," + "爱吃火锅");
};
return obj;
}
//创建人的对象
var luzp = cObj("小哥",27);
luzp.eat();
//创建一个人的对象
var lut = cObj("小甜",30);
lut.eat();
2、自定义构造函数创建对象
// Person () 其实就是一个函数
function Person(name,age) {
this.name = name;
this.age = age;
this.eat = function () {
console.log("我叫" + this.name + "和小哥认识的时候我" + this.age + "," + "我们都爱吃火锅");
};
}
//创建对象
var lut = new Person("小甜",23);
console.log(lut.name);
lut.eat();
注意:自定义构造函数在创建对象的时候,产生以下四个事件
- new 对象的时候,会在内存中申请一个空间,存储创建的新的对象
- 把 this 设置为当前的对象
- 设置对象的属性和方法的值
- 把 this 这个对象返回
3、字面量的方式创建对象
var lut={
name: "小甜",
age: 23,
place: "小寨",
meet:function () {
console.log(this.age + "岁的时候" + "和小哥" + "相遇与" + this.place);
},
eat:function () {
console.log("都爱吃火锅");
}
};
lut.meet();
lut.eat();