zoukankan      html  css  js  c++  java
  • 【jQuery源码系列】Sizzle

    Sizzle是一个纯 JavaScript CSS选择器引擎。jquery1.3开始使用Sizzle,Sizzle一反传统采取了相反的Right To Left的查询匹配方式,效率提高。

    Sizzle完全独立于jQuery,若不想用jQuery,你可只用Sizzle实现,压缩3K多http://url.cn/J73IkN

    一般选择器的匹配模式(包括jq1.2之前),都是一个顺序的思维方式,在需要递进式匹配时,比如$(‘div span’) 这样的匹配时,执行的操作都是先匹配页面中div然后再匹配它的节点下的span标签,之后返回结果。

    Sizzle则采取了相反Right To Left的实现方式,先搜寻页面中所有的span标签,再其后的操作中才去判断它的父节点(包括父节点以上)是否为div,是则压入数组,否则pass,进入下一判断,最后返回该操作序列。

    性能上得到了提升,对比性能参考下图

    另外,在很多细节上也进行了优化。

    未完待续...

    author:Lik
    Endeavoring to powerless, struggling to move yourself.
  • 相关阅读:
    C++赌博游戏
    数据挖掘--数据准备
    非线性维归约Isomap
    ClampedCubicSpline
    Romberg算法
    列表与数组
    HttpClient调用webApi时注意的小问题
    Week4
    Week3
    Week2
  • 原文地址:https://www.cnblogs.com/likwin/p/7157566.html
Copyright © 2011-2022 走看看