什么是JavaScript中的数组文字符号,什么时候应该使用它?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (11)

JSLint给我这个错误:

Problem at line 11 character 33: Use the array literal notation [].

var myArray = new Array();

什么是数组文字符号,为什么它要我使用它呢?

它显示在这里new Array();应该可以正常工作...有什么我失踪?

提问于
用户回答回答于

数组文字符号是使用空括号定义新数组的地方。在你的例子中:

var myArray = [];

这是定义数组的“new”方式,我认为它更短/更清晰。

下面的例子解释了它们之间的区别:

var a = [],            // these are the same
    b = new Array(),   // a and b are arrays with length 0

    c = ['foo', 'bar'],           // these are the same
    d = new Array('foo', 'bar'),  // c and d are arrays with 2 strings

    // these are different:
    e = [3],             // e.length == 1, e[0] == 3
    f = new Array(3);   // f.length == 3, f[0] == undefined
 
用户回答回答于

认为这也是由于其他语言具有相似的数据结构,而这些数据结构碰巧使用相同的语法; 例如,Python有列表和字典 ; 请参阅以下示例:

// this is a Python list
a = [66.25, 333, 333, 1, 1234.5]

// this is a Python dictionary
tel = {'jack': 4098, 'sape': 4139}

Python在语法上是否正确吗?(是的,结尾的分号不见了,但这些对Javascript来说不是必需的)

因此,通过重复使用编程中的常用范例,我们可以避免每个人都必须重新学习不应该有的东西。

扫码关注云+社区