正在加载...

我大约是在2003年开始喜欢onmouseover之类的事件的。那个时候我对js一无所知,看到onmouseover居然能实现一些我很感兴趣的交互,于是就在自己的网页上到处乱放。确实,这比我新建立一个js文件再去学习什么是DOM,什么是DOMElement要快的多,我无须知道这些枯燥的概念就能让我的页面具备交互性。

在早期的Web开发学习过程中,我有一个很大的缺点就是不愿意按部就班。我想这也是所有喜欢Web开发的人所共有的毛病。Web不是C++,那些传统程序员说它浮躁,其实也不为过。我们需要的只是鼠标移动到某个区域上去之后,这个区域变一下色而已,谁也懒得去整那么多破概念。

但这个习惯对于职业Web产品开发来说就不好了。当然,我并不是职责现在还有这个开发习惯的同道,毕竟我会过头去看自己原来的代码,何尝不是每一次回头都唾弃不已。

于是我问自己,能不能争取预知降下来的错误?争取在新的代码中就引入最好的开发思想,哪怕,这段代码的语法你都还不了解。

答案是存在的:求同存异。更简单点:求同

我无法不佩服这个四字成语所蕴含的极大智慧。这是我大二下学期的模电老师挂在口边的口头禅。当时的我怎么也不会想到,三年之后我会在自己的项目组里面一次次地重复唠叨这个词。

我不是传统程序员,但我认为至少在Web开发的项目输出中,如果你看到大量非信息类代码有太多的重复,那么你得停下来思考了。

从基本的脚本编程把常用功能性模块封装成function,到面向对象语言把具有相同逻辑行为的抽象概念封装成类(Class)。从CSS选择符的一次次改进,到js中优雅地遍历DOM结构,大师们对“求同”的追求从来没有停滞。

今天看到项目组提交的一个XHTML文件中有这样一段代码:

<img alt="" src="face1.gif"

id="face1" onmouseover="someFunc();"/>
<img alt="" src="face2.gif" id="face2" onmouseover="someFunc();"/>

<img alt="" src="face?.gif" id="face3" onmouseover="someFunc();"/>

<img alt="" src="face20.gif" id="face4" onmouseover="someFunc();"/>[/code]
一眼就能发现这段代码的问题,太多的onmouseover重复了。把onmouseover写到js里面也许作为一个刚刚接触DOM的人来说确实很难,但作为一个优秀的前端架构师,看到这么大片重复的代码,你必须引起警惕。至少你要问,为什么不可以有一种方法能让这些重复代码只出现一次?

我这么笨的人花了三年还是悟出来了,相信你一定比我快:)

还没找到您要的东西?Google试试看吧,
Google更注重原创、时效性好的文章:


本文相关评论: 才 4 条评论
  1. david 2006-12-30 02:49:12

    巧的很,我也在想同样的问题,做类似的事。
    我把这归结到一个字:懒
    其实是学习方法和态度的问题。
    用了两三天时间优化click统计的脚本,在blog里面总结了点js经验,或许有用。

  2. aw 2006-12-30 03:33:04
    引用自 david
    用了两三天时间优化click统计的脚本,在blog里面总结了点js经验,或许有用。

    The server encountered an internal error or misconfiguration and was unable to complete your request.
    你的mt又crash了,555

  3. Clear 2007-01-01 01:47:24

    要担心绑定事件的时候最好放在DOM加载完立即开始.
    这个问题目前是最大的难题,因为只能有效针对FF,IE,OP,其他浏览器还是未知数.

  4. aw 2007-01-01 02:41:14
    引用自 Clear
    要担心绑定事件的时候最好放在DOM加载完立即开始.
    这个问题目前是最大的难题,因为只能有效针对FF,IE,OP,其他浏览器还是未知数.

    用AddDomLoadEvent可以:)
    新年好哦

[支持Ctrl+Enter]为了我们大家和家人的安全,留言请慎重!
声明:
1、本站仅与见过面的个人博客交换链接,见此文
2、留言时的头像是Gravatar提供的服务。如果您有兴趣并且有闲暇时间,可以看看这里的介绍