我正在维护一个项目并阅读代码:
我看到了两种变量声明方法。有人可以解释第一行和第二行之间的区别是什么意思吗?
对我来说,我在 javascript 中读到,var
关键字是可选的。在第一行中,他们声明了两个新变量并对其进行了初始化。在第二行中,他们声明了两个新变量,但没有初始化它们。我应该从中得到更多吗?
aURL = ""; msgNb = 1;
var mode, param, counter;
我正在维护一个项目并阅读代码:
我看到了两种变量声明方法。有人可以解释第一行和第二行之间的区别是什么意思吗?
对我来说,我在 javascript 中读到,var
关键字是可选的。在第一行中,他们声明了两个新变量并对其进行了初始化。在第二行中,他们声明了两个新变量,但没有初始化它们。我应该从中得到更多吗?
aURL = ""; msgNb = 1;
var mode, param, counter;
除非所有这些变量都在函数内部,否则它们都是全局变量,前两个是我猜的赋值,因为它们之前已声明过,否则它可能会缩短为
var aURL = '',
msgNb = 1,
mode,
param,
counter;
默认情况下,未分配的具有未定义的值。
您应该始终使用var
关键字将变量保持在同一函数范围内,而不是强制它成为隐式全局,否则您可能会遇到重复变量命名和赋值的问题。
如果您不使用,var
那么您正在使用(或创建)来自“父”范围的变量,如果它在任何范围内都找不到本地变量,则一直到全局变量。
这不是一个“jquery”问题,而是一个 JavaScript 问题。没有“var”关键字的变量具有全局范围,即它对所有方法、对象等都是可见的…… var 仅在其特定范围内可见。