这是一个随机问题,但我想知道为什么对于点击事件,相对于匿名函数,命名回调的性能更差。
这是 JSPerf 的链接我在 Mac 上的 Firefox 和 Chrome 中运行的测试。
我想我的假设是命名回调总是会表现得更好。例如,当使用 .each
命名回调时 is slightly faster .
感谢您的宝贵时间!
编辑 我编辑了 .each
JSPerf 测试,因为 (a) 我没有测试我的意思,并且 (b) 我正在尝试 更能模仿事件。
编辑 2 正如 @Esailija 在下面指出的那样,我的测试设置从一开始就不正确。这个问题有点毫无意义,但至少它可以帮助进行 JSPerf 测试的人。
最佳答案
jsperf 已损坏,因为您累积了跨测试边界的事件处理程序。换句话说,首先运行的测试将是“最快的”。
测试的整个前提是荒谬的,如果其他条件相同,则有名称的函数和没有名称的函数之间没有区别。只有当您错误地设置 jsperf 时,您才会看到差异。当你不断地为他们获得相同的结果时,你就知道你的设置是正确的——但你会从常识中知道这一点:)
关于javascript - jQuery 事件回调速度 : Anonymous vs. 命名函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19827253/