Javascript 中的 Var 声明

问题描述 投票:0回答:5

我不明白

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;
    }
javascript variable-declaration
5个回答
3
投票

这意味着(分别)声明两者 - 不声明它们相等

与:

相同
var a = [];
var i;

2
投票

以下代码:

var a = [], i;

与此代码完全一样:

var a = []; var i;

这意味着:

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

1
投票
Javascript 变量没有类型。

a

 
初始化为数组; i
 根本没有初始化。

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

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

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 变量和数据类型


0
投票

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,其中存储了所有全局变量。

© www.soinside.com 2019 - 2024. All rights reserved.