JavaScript连载18-工厂模式创建对象、自定义构造函数

一、工厂模式创建对象

  1. 常见创建对象方式
    (1)对象字面量
    var x1 = {
        "name":"小猴",
        age:22,
        sex:"女",
        dolt:function () {
            console.log("我是IT的小学生");
        }
}

(2)new Object()创建对象

    var x2 = new Object();
    console.log(typeof x2);
    x2.name = "好吧";
    x2.age = 79;
    x2.sex = "男";
    //这种方式创建的对象更具有规范性,节约内存
//缺点就是不能够量产

(3)通过工厂函数来创建对象

    function createPerson(name,age,sex){
        var p = new Object();
        p.name = name;
        p.age = age;
        p.sex = sex;
        p.dolt = function () {
            console.log("我会写代码");
        }
        return p;
    }

    var x3 = createPerson("小廖",12,"男");
    var x4 = createPerson("撒b",23,"女");

    console.log(typeof x3);
console.log(typeof x4);

上面的三段代码运行结果如下:

18.1
二、自定义构造函数

function Person(name,age,sex) {
    this.name = name;
    this.age = age;
    this.sex = sex;
    this.dolt = function () {
        console.log("我是专家");
        
    }
}
function Dog() {
    
}
var d1 = new Person("xiaoming",23,"男");
console.log(typeof d1);

18.2

三、new的由来
1.属性:如果一个变量属于一个对象所有,那么该变量就可以称之该对象的一个属性,属性一般是名词,用于描述事物的特征。
2.方法:如果一个函数属于一个对象所有,那么该函数就可以称之该对象的一个方法,方法是动词,描述事物的行为和功能。
3.new关键字一般是和构造函数一起使用的;构造函数是一种特殊函数,构造函数用于创建一类对象,首字母要大写,构造函数要和new一起使用才有意义。
new做了什么?
(1)new先在内存中创建一个新的空对象;(2)new会让this指向这个新的对象;(3)执行构造函数,给这个新对象属性和方法;(4)返回这个新对象;
四、源码:
D18_1_FactoryPattern.html
地址:
https://github.com/ruigege66/JavaScript/blob/master/D18_1_FactoryPattern.html
2.CSDN:https://blog.csdn.net/weixin_44630050
3.博客园:https://www.cnblogs.com/ruigege0000/
4.欢迎关注微信公众号:傅里叶变换,个人账号,仅用于技术交流,后台回复“礼包”获取Java大数据学习视频礼包
18.3

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值