jsPerf.app is an online JavaScript performance benchmark test runner & jsperf.com mirror. It is a complete rewrite in homage to the once excellent jsperf.com now with hopefully a more modern & maintainable codebase.
jsperf.com URLs are mirrored at the same path, e.g:
https://jsperf.com/negative-modulo/2
Can be accessed at:
https://jsperf.app/negative-modulo/2
Is it faster to use JavaScript .style, or to change the class of an object using .className.
EDIT: Toggle className rather than just adding/removing class.
<style type="text/css">
.hide { display:none; } .show { display: inline; }
</style>
<div id="ctl00_ctl00_ctl00_LeftCol_leftNav">
<ul>
<li>
<a class="AspNet-Menu-Link" href="#">Home</a>
</li>
<li>
<a class="AspNet-Menu-Link" href="#">Home & me</a>
</li>
<li>
<a class="AspNet-Menu-Link" href="#">home</a>
</li>
<li>
<a class="AspNet-Menu-Link" href="#">Home > Apples</a>
</li>
<li>
<a class="AspNet-Menu-Link" href="#">Home</a>
</li>
<li>
<a class="AspNet-Menu-Link" href="#">Ho_me</a>
</li>
</ul>
</div>
<script>
var addClass = function(element, className) {
var re = res[className] ? res[className] : new RegExp('(^|\s)(' + className + ')($|\s)');
re[className] = re;
element.className = re.test(element.className) ? element.className : element.className + ' ' + className;
},
removeClass = function(element, className) {
var re = res[className] ? res[className] : new RegExp('(^|\s)(' + className + ')($|\s)');
re[className] = re;
element.className = re.test(element.className) ? element.className.replace(re, '$1$3') : element.className;
},
show = function(element) {
element.style.display = 'inline';
},
hide = function(element) {
element.style.display = 'none';
},
res = {};
</script>
Ready to run.
Test | Ops/sec | |
---|---|---|
.style |
| ready |
.className |
| ready |
You can edit these tests or add more tests to this page by appending /edit to the URL.