我不明白
var a = [], i
。如何将 a
声明为数组和 i 的类型?
// Source: Javascript: The Good Parts, p. 63
Array.dim = function (dimension, initial) {
var a = [], i;
for(i = 0; i< dimension; i +=1)
{
a[i] = initial;
}
return a;
}
这意味着(分别)声明两者 - 不声明它们相等
与:
相同var a = [];
var i;
以下代码:
var a = [], i;
与此代码完全一样:
var a = [];
var i;
这意味着:
a
是一个空数组
i
是一个未初始化的var
a
初始化为数组;
i
根本没有初始化。没有什么可以阻止你以后写作
a = 42;
i = ["Hi", "there!"];
var a = [], i
字面意思是定义a为数组,定义i为变量。实际上没有任何内容分配给 i。 例如:
var a = 5,
b = 8,
c = "string";
这基本上允许您定义 3 个变量,而不必使用 var 这个词 3 次。 JavaScript 简写。
在使用变量之前定义变量可以防止变量不存在时出现错误,从而使函数更加可靠。例如,不将 x 定义为变量将导致:
if(x) { /* native code */ }
抛出错误,但是:
if(window.x) { /* native code */ }
不会,因为它会检查窗口对象中的 x,其中存储了所有全局变量。