jQuery1.3全新的Sizzle引擎实现CSS选择器
otype, dojo, Mochkit等各大门派,jQuery1.3是第一个采用Sizzle的正式产品,可以看到速度有显著的提升,今后的发展非常令人期待。
Sizzle反映了一种新趋势,随着javascript库的逐渐成熟,一些功能开始被分离出来设计成独立维护的引擎/核心。实际上现在的主流库里,有很多代码都互相借鉴,并采纳blogsphere里讨论出的最新最好的实现方法,比如jQuery的DOM Ready方法就可以明显看到这种演进,而那些涉及跨浏览器的实现和bug fix,尤其容易趋向于统一。有机会产生通用引擎的领域,除了css选择器,可以预见的还有2D/3D绘图引擎(封装canvas,VML或SVG),模板引擎,对象映射,文本解析,动画,运动和定位相关的计算,还有一些基础代码,比如迭代器。 不过关于选择器,还有一点必须指出的是,无论选择器发展的多么高效,即使有一天能完全当作native实现来对待,也不能过度的依赖它来完成任务,满足于写一些脚本式的代码,而忽视javascript语言本身的算法,数据结构和模式。这个道理其实就类似php和mysql的关系,php作为服务器端专业的web开发语言,有大量开发工作是围绕着数据来进行,而强大的mysql已经实现很多针对数据查询的算法和逻辑,加上php本身与其说是一门语言,不如说是工具包,导致很多初心的php程序员简单的依赖于mysql,编程能力普遍不高,进而损害到了php程序员的平均工资…… 从这个角度上来讲,javascript跟php非常相像,虽然javascript本身是一门强悍而集大成的语言(记得上次去帝都参加SD2C时,天际网的CTO郭应寿说“喜欢技术的人不可能不喜欢javascript”),但是多数时候都被限制在浏览器的sandbox里,曾经一度沦为真正的“脚本语言”,多亏浏览器后来施舍了DOM和xhr,才让javascript有了用武之地,所以js在很大程度上也是围绕着DOM在编程,DOM是前端最重要的数据结构,有了强大的选择器工具,很多需求只要反复调用选择器,写几串脚本式的代码就能实现,如果满足于这种开发方式,不站在更高的角度去设计和构建应用,对于自己和自己的工作都可以说是非常危险的。 另外,设计良好的html,重要性相当于后端的数据库设计,可以让选择器的使用变得更高效,并直接影响js的设计模式。我在一些项目中非常喜欢这样的理念:在保证语义和简洁的前提下,让HTML成为一种配置文件,当需求有变化,或是在一些可复用的场合,只需要简单的编写html,就能自动实现相应的程序逻辑。对于选择器的使用,还存在另一种截然相反的 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |