温故而知新之- Javascript工厂函数与构造函数
【摘要】 我们可以如何优雅的创建对象?
我们可以如何优雅的创建对象?
可以使用工厂函数,构造函数进行构建对象。
何为工厂函数?
在函数中返回对象的函数。
有如下特点:
1.减少重复创建相同类型对象的代码
2.修改工厂函数的方法影响所有同类对象
我们之前在创建相同类型对象时,可能会使用字面量形式,需要复制属性和方法结构。
const hw = { name: "华为", show() { console.log(this.name); } }; const mi = { name: "小米", show() { console.log(this.name); } };
我们可以使用工厂函数进行简化
function mobile(name) { return { name, show() { console.log(this.name); } }; } const hw = mobile("华为"); hw.show(); const mi = mobile("小米"); mi.show();
跟工厂函数相似的是构造函数。
构造函数的上下文为新的对象实例。
关于构造函数有几个点需要注意下:
1.构造函数名每个单词首字母大写 命名规范
2.this指当前创建的对象
3.不需要返回this,系统会自动完成
4.需要使用new关键词生成对象
function Mobile(name) { this.name = name; this.show = function() { console.log(this.name); }; //不需要返回,系统会自动返回 // return this; } const hw = new Mobile("华为"); hw.show(); const mi = new Mobile("小米"); mi.show();
心得:在项目或者平常的练习中,我常用的构造函数,他可以帮助我们创建相同类型的对象,如何可以基于这个对象进行扩展,实现更强大丰富的功能。
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)