请教各位,这两种编程方式的利弊?
举个例子:用JavaScript创建了2个类,都是在页面上生成一个div,然后在程序中控制div显示或隐藏。以下是两种写法:
var s = new Object();
//方法一
s.obj1 = function(){
var body = document.createElement( "div ");
document.body.appendChild(body);
this.show = function(){
……
}
this.close = function(){
……
}
}
//写法二 请注意body.show body.close方法
s.obj2 = function(){
var body = document.createElement( "div ");
document.body.appendChild(body);
body.show = function(){
……
}
body.close = function(){
……
}
return body;
}
第一种方法,我用var obj = new s.obj1()创建对象后,得到的是一个s.obj1对象的引用;第二种方法,我用var obj = new s.obj2()创建对象后,实际上得到的是一个div的引用,第二种方法在IE中可以通过event.srcElement直接得到div对象的引用。第二种方式原则上讲不符合面向对象的思想,但又确实比第一种方式方便,所以想请教一下大家。
------解决方案--------------------楼主,如果你喜欢第2种方式,建议你用HTC技术 ,这样子可以随意为控件定义相关的方法,并绑定成一个实体.
------解决方案--------------------当然是第一种好看些,如果你要使用这个DIV,你可以再定义一个属性吧它暴露出来嘛