-2

我如何在 jQuery 中获取全局变量。这种语法是正确的,我正在使用。

var $val = 2;
      or
val = 2; (without using var keyword).

谢谢。

4

1 回答 1

1

首先也是最重要的:尽可能避免使用全局变量。这(几乎)总是可能的。(向达赖喇嘛道歉)

但是回答这个问题:

如果您var在全局范围内(所有函数之外)使用,它会创建一个全局变量。

如果你只是分配给一个你没有在任何地方声明的变量,如果你没有使用严格模式(我建议你使用它),它将隐式创建一个全局。这是隐式全局变量的恐怖,应该避免。

如果你真的,真的需要创建一个全局变量而不使用在全局范围内,你可以通过显式使用对象var来做到这一点,而不需要恐怖:window

window.val = 2;

但我重申我的开场白:避免使用全局变量。

这是一种方法:在所有代码周围使用范围函数:

(function() { // <== The start of the scoping function
    // Your code here, `var`s here are global to *your* code but not actually globals
    // ...
})();         // <== The end of the scoping function, and the () to call it immediately

即使在您的代码中,您也应该避免使用全局变量,但是通过使用范围函数,您至少可以保护自己免受外部世界的影响(反之亦然)。

于 2013-05-06T08:21:29.917 回答