我在考虑是否在函数作用域内还是在作用域外声明函数的性能影响。
为此,我使用jsperf创建了一个测试,结果对我来说很有趣,我希望有人能解释这里发生了什么。
要点:
如果引擎应用巧妙的优化,代码会更快。
边缘太慢了。
由于某种原因,Chrome在第一种情况下无法快速解决问题。也许优化只会以更多的迭代开始。
一个功能是否在另一个功能内并不重要²,正如Firefox在这种情况下所证明的。
顺便说一下,最佳的优化方法是:
是的,没什么,因为您的代码没有任何可观察到的效果。什么也不做可能真的很快]]
²:不是从性能的角度来看,而是从设计的角度来看[[does
很重要mathAdd
函数。因为它是一个简单的函数,没有在函数内创建和调用的副作用,所以编译器将调用站点替换为函数的内部代码。