首页 理论教育jQuery代码风格优化-Web前端框架开发技术

jQuery代码风格优化-Web前端框架开发技术

【摘要】:用jQuery 实现:这段代码的作用是,当鼠标点击到class 中含有“.has_children”的元素上的时候,给其添加一个名为highlight 的class,然后将其内部li 子元素都显示出来,并且被点击的“.has_children”元素的同辈元素都去掉一个名为highlight 的class,以及内部的li 子元素统统隐藏。使用jQuery 编写代码时,一般采用下列的编码风格。jQuery 还以其强大的选择器著称,有的时候很复杂的问题却可以用一行选择器轻松搞定。

jQuery 的代码可以链式操作,就是把很多操作代码写成一行,看上去很优雅,用起来也很舒服。但等日后回过头来再去改自己的代码的时候,大量一行搞定的代码,单个看起来很优雅,多了就看起来非常的凌乱,时间久了,自己都不知道自己写了些什么。

来看一个导航栏的实例:

项目需求是做一个导航栏,点击不同的章节,显示相应的内容,同时高亮当前选择的章节。用jQuery 实现:

这段代码的作用是,当鼠标点击到class 中含有“.has_children”的元素上的时候,给其添加一个名为highlight 的class,然后将其内部li 子元素都显示出来,并且被点击的“.has_children”元素的同辈元素都去掉一个名为highlight 的class,以及内部的li 子元素统统隐藏。效果如图1.9、图1.10、图1.11 所示。

图1.9 效果1(初始页面)

图1.10 效果2(点击中国)

图1.11 效果3(点击美国)

怎么样,上面的效果很炫吧,这就是jQuery 强大的链式操作,一行代码就把导航栏给做出来了。但是,这样的写法会给后期维护和团队协作带来无尽的苦难。所以,更推荐的是一种带有适当的注释格式的代码风格:

(www.chuimin.cn)

这样子看起来结构和代码是不是更为清晰明了。

使用jQuery 编写代码时,一般采用下列的编码风格。

(1)对于一个对象不超过3 个的操作的,可以直接写成一行,例如:

(2)对于多个对象的操作的少量操作,可以每个对象一行,如果涉及到子元素,可以考虑适当的缩进。比如代码:

(3)对于一个对象的较多操作,建议每行写一个,或者按功能块区分。例如:

对于上面的代码,如果你嫌代码行数过多,那以功能块来换行也是个不错的主意。前两个是对class 的操作,接下来三个是动画的操作,最后是取消并重新绑定click 的事件的处理函数,所以写成这样也是不错的选择。

对于多个对象的较多操作,建议结合第(2)和第(3)来做。

jQuery 还以其强大的选择器著称,有的时候很复杂的问题却可以用一行选择器轻松搞定。但对其进行代码编写时也应该注意一个问题。那就是添加适当的注释。

如下面的代码: