Javascript中的Var声明

时间:2012-12-06 03:54:44

标签: javascript

我在这里不明白var a = [], i。如何将a声明为数组和我的类型是什么?

    // 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;
    }

5 个答案:

答案 0 :(得分:3)

它意味着声明两个(单独) - 不声明它们是相等的

同样的事情:

var a = [];
var i;

答案 1 :(得分:2)

以下代码:

var a = [], i;

完全与此代码相同:

var a = [];
var i;

这意味着:

  1. a是一个空数组
  2. i是未初始化的var

答案 2 :(得分:1)

Javascript变量没有类型。

a 已初始化到数组; i根本没有初始化。

没有什么可以阻止你以后写

a = 42;
i = ["Hi", "there!"];

答案 3 :(得分:0)

var a = [], i字面意思是 将a定义为数组并将i定义为变量 。实际上没有任何东西分配给我。

例如:

var a = 5,
    b = 8,
    c = "string";

这基本上允许您定义3个变量,而不必使用单词var 3次。速记JavaScript。

在使用变量之前定义变量可防止错误(如果变量不存在),使函数更可靠。例如,不将x定义为变量将导致:

if(x) { /* native code */ }

抛出错误但是:

if(window.x) { /* native code */ }

不会,因为它检查窗口对象的x,其中存储了所有全局变量。

答案 4 :(得分:0)

Javascript变量没有任何类型。这里a初始化为数组

var a = []; //Same as var a= new Array(); 

我可以有任何价值

var i = 0;// Here it is an integer
i = "Hello";// String. Type changed to string. But it is not a good practice

阅读JavaScript Variables and DataTypes