美文网首页
HTML5中自定义属性dataset与setAttribute的

HTML5中自定义属性dataset与setAttribute的

作者: 冰的棍儿 | 来源:发表于2016-11-30 01:20 被阅读0次

---只有程序员才懂的幽默---
世界上最遥远的距离,是我在if里,你在else里,虽然经常一起出现,但却永不结伴执行。

今天在测试时发现了一个有趣的问题:关于自定义属性dataset和setAttribute两个的性能的比较,一般情况下我们会使用dataset,肯定是性能更优才会使用,但经过一轮测试下来,我们需要注意了,setAttribute的性能要高于dataset的。
测试环境为:Google Chrome版本 54.0.2840.99 m

代码如下:

<!DOCTYPE html>
<html ng-app="app">
<head>
    <meta charset="UTF-8">
    <title>index</title>
    <style type="text/css">
        *{margin:0; padding:0;}
    </style>
</head>
<script>
    document.addEventListener('DOMContentLoaded',function(){
        var oBtn=document.getElementsByTagName('input')[0];
        oBtn.onclick = function(){
            console.time('abc');
            for(var i=0; i<20000; i++){             
                this.setAttribute('a'+Math.random(),Math.random());     //584ms 727ms
                //this.dataset['a'+Math.random()] = Math.random();          //716ms 845ms
            }   
            console.timeEnd('abc');
        };
    },false);
</script>

<body>
    <input type="button" value="LOL" data-job="game" data-personA="剑圣" data-map="德拉诺之王" />
</body>
</html>

备注是两次不同时间段测试的结果,都是setAttribute的性能更优。
因浏览器版本不同,性能优化程度不同、以及后续作者的不断优化,我们需随时关注两个代码的性能问题,目前仍推荐使用dataset。

相关文章

  • HTML5中自定义属性dataset与setAttribute的

    ---只有程序员才懂的幽默---世界上最遥远的距离,是我在if里,你在else里,虽然经常一起出现,但却永不结伴执...

  • html\css笔记1

    1.data-*自定义属性:html5增加的新功能自定义数据属性 dataset属性存取data-*自定义属性的值...

  • HTML5 自定义属性

    自定义属性:添加前缀“data-” dataset属性:添加自定义属性后,通过元素的dataset属性来访问自定义...

  • property和attribute的一些区别

    自定义属性(id/src/href/name/value等) 通过setAttribute设置的自定义属性,可以通...

  • 自定义属性

    setAttribute/getAttribute/removeAttribute设置获取移除元素的自定义属性信息...

  • HTML5中data-*自定义属性作用

    data-*是HTML5新增的一个自定义数据属性功能,作为可以暂存数据使用。利用dataset可以获取data-属...

  • 自定义属性 - 2018-05-15

    2018-05-15 创建 HTML5 data-* 自定义属性 HTML5中添加了data-的方式来自定义属性,...

  • 前端js开发浏览器兼容性基本原则

    标签自定义属性,通过getAttribute和setAttribute访问,而不要用点成员的方式 表单中增加表单项...

  • js、jquery的属性操作方法总结

    目录 属性分为三种: js原生属性操作方法获取属性设置属性删除属性自定义数据属性 dataset获得自定义属性的值...

  • data-*自定义属性

    HTML5增加了一项新功能是自定义数据属性,也就是data-*自定义属性。在HTML5中我们可以使用以data-为...

网友评论

      本文标题:HTML5中自定义属性dataset与setAttribute的

      本文链接:https://www.haomeiwen.com/subject/lobzpttx.html