栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

我应该使用对象文字还是构造函数?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

我应该使用对象文字还是构造函数?

如果您没有与对象相关联的行为(即,如果对象只是数据/状态的容器),则可以使用对象文字。

var data = {    foo: 42,    bar: 43};

运用KISS原则。如果除了简单的数据容器之外不需要任何其他内容,请使用简单的文字。

如果要向对象添加行为,则可以使用构造函数并在构造过程中向对象添加方法,或者为类提供原型。

function MyData(foo, bar) {    this.foo = foo;    this.bar = bar;    this.verify = function () {        return this.foo === this.bar;    };}// or:MyData.prototype.verify = function () {    return this.foo === this.bar;};

这样的类也像数据对象的架构一样工作:您现在(通过构造函数)具有某种约定(通过构造函数),该对象初始化/包含哪些属性。一个自由的文字只是数据的一个无定形的斑点。

您可能还具有一个

verify
作用于普通旧数据对象的外部函数:

var data = {    foo: 42,    bar: 43};function verify(data) {    return data.foo === data.bar;}

但是,这在封装方面是不利的:理想情况下,与实体关联的所有数据和行为都应该一起生活。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/416024.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号