順序付けされていないリストをトラバースして非表示/表示する基本的なjqueryスクリプトを最適化しようとしています。
jsperfのテストケースは次のとおりです。http://jsperf.com/caching-vs-no-caching
ChromeとIE7/IE8の2つのブラウザーでテストを実行しましたが、驚くべきことに、キャッシュされたケースは少し遅くなりましたが、それでもまだです。
最適化されていないバージョンは次のとおりです。
(function( $ ) {
$.fn.menuManipulation = function() {
this.parents().show();
};
})( jQuery );
$('.menu-vertical li.selected').menuManipulation();
$(".menu-vertical li.selected > ul.static").show();
$('li.static').has('ul').addClass("with-child");
そしてキャッシュされたもの:
(function($) {
$.fn.menuManipulation = function() {
this.parents().show();
};
})(jQuery);
var menu = $('.menu-vertical');
menu.find('li.selected').menuManipulation();
menu.find('li.selected > ul.static').show();
menu.find('li.static').has('ul').addClass("with-child");
誰かが私が間違っていることと、キャッシュされたバージョンが遅いように見える理由を説明できますか?