创建对象的方法(经典)

<script type="text/javascript">
    //1.创建对象的一种方式
    var obj = Object.create(new Object());
    console.log(obj) //其实 obj = {}
    obj.name = 25; //加属性
    obj.fn = function() { //加方法
        return 20;
    }
    console.log(obj) //等价 {name: 25, fn: ƒ}
    //总结:使用Object.create()是将对象继承到__proto__属性上,没有继承任何原型方法,也就是说它的原型链没有上一层。
    //Object.create(null)造出来的object是没有任何属性的
    //2.创建对象的方式
    var obj1 = new Object();
    console.log(obj1);
    obj1.age = 12;
    obj1.fn = function() {
        console.log("这样子添加方法也是可行的")
        return 30;
    }
    console.log(obj1);
    //3.{}字面量
    var obj2 = {};
    console.log(obj2); //{age: 12, fn: ƒ}
    obj2.name = 30;
    obj2.fn = function() {
        console.log("这样子添加方法也是可行的")
        return 40;
    }
    console.log(obj2); //{name: 30, fn: ƒ}
    //4.构造函数创建对象
    function CreatePerson(name) {
        this.name = name;
        this.showName = function() {
            alert(this.name);
        }
    }
    var getCreateName = new CreatePerson('苹果');
    getCreateName.showName(); //苹果
    console.log(getCreateName);//CreatePerson {name: "苹果", showName: ƒ}
    //5、工厂方式创建对象
    function createPerson(name) {
        //1、原料---->空对象
        var obj3 = new Object();
        //2、加属性方法
        obj3.name = name;
        obj3.showName = function() {
            alert(this.name);
        }
        //3、返回该new出来的原料空对象;
        return obj3;
    }
    var getObjName = createPerson('苹果2代');
    getObjName.showName();//苹果2代
    console.log(getObjName);//{name: "苹果2代", showName: ƒ}
</script>

 

转载于:https://www.cnblogs.com/lhl66/p/8854368.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值