温故而知新之- 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)