2009-12-11 25 views
0

我正在拿起一个项目的维护和阅读代码:
我看到两个变量声明的方法。有人可以解释第一行和第二行之间的区别吗?这里变量的延迟有什么区别?

对我来说,我正在阅读的JavaScript中,var关键字是可选的。在第一行中,他们宣布了两个新变量并初始化它们。在第二行中,他们宣布了两个新的变量,但没有初始化它们。我应该从这里采取更多?

aURL = ""; msgNb = 1; 
var mode, param, counter; 
+0

这不就是JavaScript吗? jQuery没有自己的语言,是吗? –

+1

我是web dev的新手,所以是的,这可能只是一个javascript问题。这就是我在这里要了解的 – MedicineMan

回答

9

除非所有这些变量都是他们都是全局函数里面,前两个是任务,我猜是因为他们先前声明,否则可能会缩短到

var aURL = '', 
    msgNb = 1, 
    mode, 
    param, 
    counter; 

的未分配的默认值具有未定义的值。

您应该始终使用var关键字将变量保持在相同的函数范围内,而不是强制它变成隐式的全局变量,否则可能会遇到重复的变量命名和赋值问题。

3

如果您没有使用var,那么您使用(或创建)一个“父”范围的变量,如果它没有在任何范围内找到本地变量,则一直变为全局变量。

3

这不是一个“jquery”的问题,而是一个JavaScript问题。没有“var”关键字的变量具有全局作用域,即它可以从所有方法,对象等中看到。var仅在其特定范围内可见。

相关问题