简单理解创建对象的三种方式

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();

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值