Toggle navigation
MeasureThat.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
delete 3
(version: 2)
delete 3
Comparing performance of:
1 + 1 vs 2 vs for
Created:
9 years ago
by:
Registered User
Jump to the latest result
HTML Preparation code:
<div id="testElement">Test</div> <div id="testElement2">Test 2</div>
Script Preparation code:
var API = API || {}; API.addEvent=function(elem,eventType,fn){ if(elem.addEventListener) elem.addEventListener(eventType,fn,false); else if(elem.attachEvent) elem.attachEvent('on'+eventType,fn); else elem['on'+eventType]=fn; }; API.removeEvent=function(elem,eventType,fn){ if(elem.removeEventListener) elem.removeEventListener(eventType,fn,false); else if(elem.detachEvent) elem.detachEvent('on'+eventType,fn); else elem['on'+eventType]=null; }; API.addEventMULTI=function(o,t,f){ if(!o.length){ if(o.addEventListener) o.addEventListener(t,f,false); else if(o.attachEvent) o.attachEvent('on'+t,f); else o['on'+t]=f; }else{ for(var i=0,len=o.length;i<len;i++){ if(o[i].addEventListener) o[i].addEventListener(t,f,false); else if(o[i].attachEvent) o[i].attachEvent('on'+t,f); else o[i]['on'+t]=f; } } }; API.removeEventMULTI=function(o,t,f){ if(!o.length){ if(o.removeEventListener) o.removeEventListener(t,f,false); else if(o.detachEvent) o.detachEvent('on'+t,f); else o['on'+t]=null; }else{ for(var i=0,len=o.length;i<len;i++){ if(o[i].removeEventListener) o[i].removeEventListener(t,f,false); else if(o[i].detachEvent) o[i].detachEvent('on'+t,f); else o[i]['on'+t]=null; } } }; var elem = document.getElementById('testElement'), elem2 = document.getElementById('testElement2'), elements = document.getElementsByTagName('div'); function test(elem){ elem.innerHTML = "Hello World!"; }
Tests:
1 + 1
API.addEvent(elem,'click',test); API.removeEvent(elem,'click',test); API.addEvent(elem2,'click',test); API.removeEvent(elem2,'click',test);
2
API.addEventMULTI(elements,'click',test); API.removeEventMULTI(elements,'click',test);
for
for(var i=0, len=elements.length; i<len; i++){ API.addEvent(elements[i],'click',test); API.removeEvent(elements[i],'click',test); }
Rendered benchmark preparation results:
Suite status:
<idle, ready to run>
Run tests (3)
Previous results
Fork
Test case name
Result
1 + 1
2
for
Fastest:
N/A
Slowest:
N/A
Latest run results:
No previous run results
This benchmark does not have any results yet. Be the first one
to run it!
Related benchmarks:
delete 4
event delegation (with parent identification) vs local handlers
remove els
_performance_comparison: DeepClone vs removing/adding eventlisteners
Comments
Confirm delete:
Do you really want to delete benchmark?