在
上篇博客当中,创建一个“人”的对象需要分散的写一堆代码,并且若要再“复制”这样一个对象需要写相同多的代码,确实是一件不爽的事情,那我们如何解决这个问题呢?熟悉java的朋友可能会很快想到设计模式中的“工厂模式”和“工厂方法模式”可以解决对象生产的问题,因此,我们可以将上篇博客的对象创建方式改为如下方式:
工厂模式创建对象:
function createPersonFactory(name, age, sex) {
var Person = new Object();
Person.name = name;
Person.age = age;
Person.sex = sex;
Person.run = function() {
alert(Person.name + " is running!");
}
return Person;
}
var person1 = createPersonFactory("redhacker", 20, "男");
var person2 = createPersonFactory("wendy", 18, "女");
alert(person1.name + "," + person1.age + "," + person1.sex);
alert(person2.name + "," + person2.age + "," + person2.sex);
person1.run();
person2.run();
通过这种封装,我们要创建一个对象,就变得简单起来!但是,这种创建对象的方式是不是有什么缺点呢?
第一:我们发现,对于person1,person2的run方法的实现每次都要生成一个Function对象,这造成了一定的内存浪费,由于前台页面是直接面向用户,如果采用这种方式去创建对象,势必造成内存的浪费,页面如果复杂,则将会严重影响到用户体验。
第二:这种工厂模式创建对象,从面向对象编程角度讲,不是最佳的方式,从代码可读性上有待提高。
如何解决上述问题,请关注我的下篇博客!
如果您觉得本文对您有益,请点击博文后的google广告,对作者表示支持,谢谢!
分享到:
相关推荐
javascript创建对象、对象继承的有用方式详解_.docx
javascript面向对象创建对象的方式小结.docx
NULL 博文链接:https://yueyemaitian.iteye.com/blog/781915
NULL 博文链接:https://redhacker.iteye.com/blog/1458580
NULL 博文链接:https://redhacker.iteye.com/blog/1457020
javascript对象创建方法总结,通过这些方法的总结,可以对对象有了更深一步的了解,也加深了对对象的巩固认识。
JavaScript对象创建的九种方式
文章《javascript对象创建--类、继承》源码
本文为大家分享了js创建对象的多种方法,分享个方法的优劣,具体内容如下 第一种创建对象的方式: 创建JSON对象 推荐使用的场合: 作为函数的参数,...第二种创建对象的方式: 创建一个Object对象 var object = new
NULL 博文链接:https://kejiangwei.iteye.com/blog/429632
本文实例讲述了JavaScript面向对象程序设计创建对象的方法。分享给大家供大家参考,具体如下: 面向对象的语言具有一个共同的标志,那就是具有“类”的概念,但是在javascript中没有类的概念,在js中将对象定义为...
NULL 博文链接:https://redhacker.iteye.com/blog/1460291
创建对象的方式 JavaScript Web前端开发技术 创建对象 用new Object创建对象 1.创建对象的方式 创建对象 利用构造函数创建对象 使用构造函数创建对象的语法为“new 构造函数名()”,在小括号中可以传递参数给构造...
本篇文章主要介绍了JavaScript创建对象的多种方式以及优缺点,主要介绍了5种方式,有兴趣的可以了解下
JavaScript中的Math对象的与众不同之处在于,它是一个全局对象...在使用Math对象之前,既不需要将一个变量声明为Math对象,也不需要定义一个新的Math对象,JavaScript将自动地创建好Math对象,我们只须直接使用它即可。
详解js创建对象的几种方式和对象方法 这篇文章是看js红宝书第8章,记的关于对象的笔记(第二篇)。 创建对象的几种模式: 工厂是函数的意思。工厂模式核心是定义一个返回全新对象的函数。 function getObj...
javascript动态创建对象的属性详解.docx
如下所示: 代码如下: var person...上面的例子创建了一个名为person的对象,并为它添加了三个属性(name、age和job)和一个方法(sayName())。其中,sayName()方法用于显示this.name()的值。早期的JavaScript开发人员