JavaScript 变量解析

标签 javascript performance variables

我正在考虑这个:

function outer()
{
    var myVar = 1;

    function inner()
    {
        alert(myVar);
    }
}

现在,据我了解,这将导致对变量进行两次查找 - 一次查找检查内部函数中的局部变量,一次查找外部函数 - 此时找到变量。

问题是 - 与此相比,这是否会对性能造成特别大的消耗:

function myFunc ()
{
    var myVar = 1;

    alert(myVar);
}

这只需要对变量进行一次查找 - 然后将其作为局部变量找到。

最佳答案

在较旧的 JS 引擎中,范围查找可能会对性能造成一些影响。

但是,即使在几年前,这也只是一个非常非常小的差异 - 并不是您需要担心的事情。

今天的引擎很可能能够像这样优化查找,而且一般来说它们的性能要好得多。除非您正在编写一些完全疯狂的东西或针对性能非常差的设备,否则这不是您需要担心的事情。

关于JavaScript 变量解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16125866/

相关文章:

javascript - 如何对 fancybox 图像应用延迟加载?

javascript - 如何为 !this.value 添加值?

python - 将分配分成两行仍然有效吗?

windows - 尝试将 "variable"压入堆栈

php oop 和 mysql 查询

java - java多线程程序中的Volatile变量

javascript - 为什么 Math instanceof Math 会抛出错误?

javascript - jquery 上一个和下一个相邻的兄弟

javascript - 在 JavaScript 中使用 Function.caller 的共识是什么?

mysql - 如何像关系表一样检索 MySQL EAV 结果