一、工厂模式创建对象

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

 

 

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

二、自定义构造函数

 

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

三、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大数据学习视频礼包

 

 

1.《JavaScript连载18-工厂模式创建对象、自定义构造函数》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。

2.《JavaScript连载18-工厂模式创建对象、自定义构造函数》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。

3.文章转载时请保留本站内容来源地址,https://www.cxvn.com/study/26525.html