在测试my answer到Adding HTML5 hidden attribute support to jQuery .toggle() method时,我创建了a JSPerf test to determine how much slower .toggle(function() \[...\])
would be compared to .toggle()
。令我惊讶的是,报告执行额外处理的脚本执行得更快!除了结果是反直觉的,我怀疑是一个问题,因为我也看到在结果返回后很久就在屏幕上切换。
如何“修复”我的测试以获得准确的结果?
答案 0 :(得分:1)
即
$('button').click(function() {
$('#myElement').toggle(function() { alert("called") })
})
传递给toggle
的回调函数仅在切换操作完成后才会执行。换句话说,它是一个异步操作,所以如果你想测量在回调被触发之前需要多长时间,use jsPerf’s async/defer feature。