网站制作学习网JS脚本→正文:javascript定义类或者对象之工厂方式
字体:

javascript定义类或者对象之工厂方式

JS脚本 2010/2/26 10:49:22  点击:不统计

转载%77%77%77请%2E%66%6F%72%61%73%70%2E%63%6E注明

在做javascript中,经常用到类,实例,对象.有的时候要建立多个对象.在开始学习类的时候,建立一个对象作为举例,但多个对象的时候,就出现了代码的冗余,于是有了定义类或者对象的工厂函数,也就是工厂方式.
学习www.网for站asp制.cn作
在原来的单个对象中,只是单个的对象,举例
var obj = new Object;
obj.name = "javascript对象";
alert(obj.name);//输出"javascript对象"
当用到第二个对象时,再次定义
var obj1 = new Object;
obj1.name = "javascript对象1";
alert(obj1.name);//输出"javascript"
上面定义了两次,这就产生了冗余,这样工厂方式就出来了:创建并能返回特定类型的对象的工厂函数.
举例
function create_obj(name)
{
 var obj = new Object;
 obj.name = name;
 obj.show_name = function(){alert(this.name);}
 return obj;
}
var t1 = create_obj("测试1");
var t2 = create_obj("测试2");
alert(t1.name);//输出"测试1"
alert(t2.name);//输出"测试2"
t1.show_name;//输出"测试1"
t2.show_name;//输出"测试2"
在上面的函数中,高手一看就又出现了冗余,在show_name方法中,每次产生的对象都要去给其show_name()方法.再次更改学习www.网for站asp制.cn作
function create_obj(name)
{
 var obj = new Object;
 obj.name = name;
 obj.show_name = show_name_fun;
 return obj;
}
function show_name_fun()
{
alert(this.name);
}
var t1 = create_obj("测试1");
var t2 = create_obj("测试2");
alert(t1.name);//输出"测试1"
alert(t2.name);//输出"测试2"
t1.show_name_fun();//输出"测试1"
t2.show_name_fun();//输出"测试2"
这样就好了,以上就是对工厂模式的模式介绍,www.forasp.cn 转载请注明

其它方式
javascript定义类或者对象之工厂方式
javascript定义类或者对象之函数方式
javascript定义类或者对象之原型方式
javascript定义类或者对象之混合方式
javascript定义类或者对象之混合工厂方式
本文原载于www.forasp.cn

·上一篇:javascript关键字this >>    ·下一篇:javascript定义类或者对象之混合工厂方式 >>
推荐文章
最新文章