为了账号安全,请及时绑定邮箱和手机立即绑定

js中构造函数和工厂函数的区别?

js中构造函数和工厂函数的区别?

牧羊人nacy 2018-11-22 17:19:25
js中构造函数和工厂函数的区别
查看完整描述

1 回答

?
一只甜甜圈

TA贡献1836条经验 获得超5个赞

构造函数与工厂函数之间差异:
1.工厂函数需要创建对象,以及必须有返回值
2.工厂函数针对的都是Object的对象模型,而构造函数可以匹配自定义的对象模型
即前者不论创建什么都只有一个xx instanceof Object
而后者根据自定义名而定类型,如上举例所示
3.构造函数弊端,如果在全局中定义相同的局部变量,容易造成全局污染,因为this.xx如果在局部获取不到,就会去全局中获取
4.构造函数可以重写,可以在全局中添加新属性和方法Person.prototype = {},但工厂函数只能在局部添加
各自适用场合:
构造函数:适应用于大型项目,属性以及方法时常变换的项目
工厂函数:适应用于小型项目,或者正在制作过程还没有成型的项目

查看完整回答
反对 回复 2018-12-13
  • 1 回答
  • 0 关注
  • 729 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信