调整我的Javascript

时间:2014-02-03 07:19:25

标签: javascript performance

我有一个JavaScript全局数组,我在多个函数中使用它。我听说使用全局变量会给性能带来一些麻烦。那么,在这种情况下,有人可以建议我如何避免使用全局变量吗?

var tpaArray = new Array();

在多个函数中,我正在使用并从中弹出值。

[注意]在我的代码中,我实际上使用了多个全局变量和数组

2 个答案:

答案 0 :(得分:1)

全局变量不是性能问题。全局变量的问题在于全局命名空间已经非常非常拥挤,因此将符号转储到那里会导致与其他东西冲突的可能性。

几乎总是可以避免使用全局变量。通常的方法是将所有代码包装在作用域函数中:

(function() {
    // Your code here
})();

然后你可以在该函数中使用嵌套函数,并在该函数中使用“globals”它们共享。

(function() {
    var someVar;

    function foo() {
        // You can use `someVar` here
    }

    function bar() {
        // And also here
    }

    foo();
})();

也就是说,最好避免使用大量共享变量或近似全局变量,因为它会使用副作用编写函数,这可能很难维护。

答案 1 :(得分:0)

如果你有很多变量,可以将它们全部放入一个对象中,并将其作为参数传递给每个函数。然后,您无需访问tpaArray,而是访问data.tpaArray,其中data是参数的名称。