现在Javascript面向对象的方式来写页面很流行,什么纯javascript的mvc框架都出来了:ember
这是javascript层的mvc框架哦,不是j2ee的mvc框架
我想说的是,javascript本来就不是一门面向对象的语言,用它写出来的面向对象的程序,本身就有些别扭,很多人提到js的面向对象首先提的是:复用性。那么我请问你写的js里有多少是可以复用的,用function的写法为何无法复用。
也有说可读性提高了,荒谬。html里写javascript调用,javascript代码放在js文件或者html头,这种传统方法不但可以将页面控件一览无余,而且可以迅速定位某个控件所触发的js动作functoin。而面向对象写法,通常弱化html,将成千的代码全部卸载js里,造成js量剧增。反而造成可读性降低,可维护性降低,开发成本增高。
也许有洁癖的人或者追求技术的人很讨厌将html和js混合,诸如:
<a href="javascript:doSomething();" >链接</a>
但是别否认这种写法开发效率高,也别否认你可惜清晰的看到这个<a>的操作对其进行维护。不许要在你的js里疯狂的使用ctrl+f 一层层的寻找你的东西。