前端之家收集整理的这篇文章主要介绍了
javascript – 本地函数声明是否被缓存?,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
function A() {
function B() {
...
}
B();
}
每次调用A时是否创建了函数B,或者是否有一些缓存.不是像当地人一样:
function A() {
B();
}
function B() {
...
}
显着的性能提升?
这样做风格选择有效吗? (在这种情况下,B只是A的辅助函数)或者第二种是否应该受到速度的青睐?
是否应该使用或避免使用此样式以提高可读性?
Benchmark.
似乎FF4为本地案例内联B并删除函数调用开销.
其他浏览器怎么样?
在JS中声明内部
函数可能的目的是在词法上绑定到外部
函数的局部变量/参数.将它移出为顶级
功能就会失败.
回答这个问题:是的,每次都会创建内部函数,至少在理论上是这样,这就是在编写代码时应该如何查看它,但智能优化器仍然可以将它转换为顶级函数,即使你有词汇依赖.如果它是一个微优化,我不会打扰,因为有一个内部功能也可以达到可读性和声明你的意图的目的.
原文链接:https://www.f2er.com/js/156872.html