我发现了这个测试http://jsbin.com/ekofa/2 http://jsbin.com/ekofa/2这表明 HTML5 data-XXX 比 jQuery 更快.data()
。我正在启动一个项目,需要将大量小数据片段放置在 HTML 元素上,其中性能至关重要。我应该使用.data()
或 HTML5 数据-XXX?该测试相关且准确吗?
我想这取决于你来自哪里,但为了存储simple特性,data-XXX
会更快只是因为如何$.data() http://api.jquery.com/jQuery.data/ and .data() http://api.jquery.com/data/ work.
例如,当您这样做来获取数据时:
var thing = $('#myelement').data('thing')
你实际上在做的是这样的:
var thing = $.cache[$('#myelement')[0][$.expando]]['thing'];
这比直接获取属性要长,如下所示:
$('#myelement').attr('thing')
所以通过数据你实际上得到的是$.expando
属性just获取身份证then即将$.cache
为了获取对象,这个额外的步骤意味着它会持续变慢。
话又说回来,data-xxx
属性并不用于存储事件处理程序或您正在主动操作的其他非常复杂的对象...因此它们在应用程序中不是 1:1,因此直接比较可能不公平。尽管它们在许多情况下用于相同的用途,但它们也有不同的两者都不常见的应用程序...因此在选择要使用的应用程序时请记住这一点。这通常适用于任何 2mostly国际海事组织的通用技术。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)