正确声明javascript数组的方法?

时间:2015-10-02 07:26:17

标签: javascript

我已经看到了声明数组的第二种方式,我想知道什么样的javascript是因为当我尝试使用它时,我到处都有语法错误。是node.js中使用的第二个代码吗?还是那种其他一些框架?

car: {
     _id: <ObjectId>,
     manufacture: "Opel",
     model: "Astra"
}

var array = [1, 2, 3];

甚至,是javascript的第二种方式吗?

3 个答案:

答案 0 :(得分:6)

  

甚至,是javascript的第二种方式吗?

不,不是。您的第一个版本是创建数组的正确方法。 (你不能在JavaScript中声明数组,因为JavaScript是一种松散类型的语言。)

创建数组的两种方法(除了调用像slicemap这样的函数的副产品外)是:

  1. 数组文字,这是您在第一个示例中使用的内容:

    var a = [];                 // Initially blank
    var b = [1, 2, 3];          // Has three entries to start with
    
  2. Array构造函数,但它很棘手且冗长,您很少想要使用它:

    var a = new Array();        // Initially blank
    var b = new Array(1, 2, 3); // Has three entries to start with
    

    我说它的原因很棘手&#34;如果你只给它一个参数,那个参数是一个数字,你就预先设定了长度,而没有给它一个条目。所以:

    var c = new Array(7);       // Empty array with length of 7!
    

    new Array(7)new Array(7, 7)之间的这种差异有时会让人感到沮丧。

  3. 为了完整性,我应该提一下现在的JavaScript(从ECMAScript 2015开始)也有其他类型的数组,称为类型数组,例如Int32Array;许多JavaScript引擎在整个规范完成之前就已经支持了它们。您可以通过new运算符创建这些运算符,例如var a = new Int32Array(7)。对于他们来说,构造函数不具有new Array的棘手模糊性,幸运的是(他们确实有各种不同的潜在论点,但不是以相同的方式)。

    旁注:您的第二个示例int[] array = new int[]{1, 2, 3};是Java和C#的有效语法,也可能是其他一些语言。

答案 1 :(得分:1)

它的常规Java,而不是JavaScript

答案 2 :(得分:1)

第二种方式是C#方式来声明一个整数数组