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