0

我正在维护一个项目并阅读代码:
我看到了两种变量声明方法。有人可以解释第一行和第二行之间的区别是什么意思吗?

对我来说,我在 javascript 中读到,var关键字是可选的。在第一行中,他们声明了两个新变量并对其进行了初始化。在第二行中,他们声明了两个新变量,但没有初始化它们。我应该从中得到更多吗?

aURL = ""; msgNb = 1;
var mode, param, counter;
4

3 回答 3

9

除非所有这些变量都在函数内部,否则它们都是全局变量,前两个是我猜的赋值,因为它们之前已声明过,否则它可能会缩短为

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

默认情况下,未分配的具有未定义的值。

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

于 2009-12-11T17:50:15.527 回答
3

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

于 2009-12-11T17:51:02.000 回答
3

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

于 2009-12-11T17:51:16.040 回答