超快的css3 selector引擎:kquery

jopen 12年前發布 | 17K 次閱讀 CSS3 CSS 前端技術

kquery實現了css3中除偽元素(pseudo-element)外的其他選擇器。由于采用的編譯緩存,在速度上(通常指不支持QSA的瀏覽器, 或者禁用掉qsa)明顯超越其他選擇器引擎。

在結果的準確性上也高于其他引擎(編譯器系統只會緩存查詢語句而不緩存查詢結果, 號稱速度最快的peppy則緩存了查詢結果)。在支持的選擇器種類上也多于其他引擎(這里不得不踢下nwmatcher, 在我所了解的引擎中它是除kquery之外在速度、支持的種類、準確性上都非常棒的引擎)。

感謝Q.js及Sizzle.js, 從它們中間借鑒了很多有用的東西。

kquery有什么特點? 其實上面的介紹已經在三個主要的方面體現出了。

1. 和nwmatcher一樣是目前支持的selectors種類最多的
2. 速度上領先于其他引擎(編譯系統找出最快的查詢語句并緩存), 尤其是在偽類上(其他常用id class tag選擇器各個引擎之間的其實差距不是太大)
3. 準確性上優勢(理論上,由于不緩存查詢結果即使dom在高速的變化,也能保持查詢結果的準確)
4. 兼容ie+/chrome/firefox/safari/opera等瀏覽器(沒有在各大瀏覽器的各個版本都進行過測試,歡迎反饋)
5. 支持擴展自定義偽類

項目地址: https://github.com/yessky/kquery

速度測試: http://test.veryos.com/selector/slickspeed/index.html
速度測試環境:沒有禁用querySelectorAll,沒有禁用各個引擎的緩存結果

Testsuite: http://test.veryos.com/selector/testsuite.html

如發現任何bug,歡迎反饋至admin@veryos.com或者在github上create ticket

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!