如何在jQuery中获取全局变量。 这个语法对我正在使用。
var $val = 2;
or
val = 2; (without using var keyword).
日Thnx。
答案 0 :(得分:1)
首先:尽可能避免使用全局变量。它总是可以(几乎)。 (向达赖喇嘛道歉)
但回答这个问题:
如果在全局范围内使用var
(在所有函数之外),它会创建一个全局变量。
如果您只是分配给一个未在任何地方声明的变量,如果您没有使用严格模式(我建议您使用它),它将隐式创建一个全局变量。这是The Horror of Implicit Globals,应该避免。
如果你真的真的需要在全局范围内不使用var
来创建全局变量,那么你可以通过显式使用window
对象在没有Horror的情况下做到这一点:
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
你应该在你的代码中避免使用全局变量,但是通过使用范围函数,你至少可以保护自己免受外部世界的影响(反之亦然)。