在JavaScript中使用[]而不是新的Array()的优点

Ale*_*lex 19 javascript

使用有什么好处

var foo = []; 
Run Code Online (Sandbox Code Playgroud)

过度使用

var bar = new Array();
Run Code Online (Sandbox Code Playgroud)

我被告知在新的Array()上使用[]但从来没有太多解释

小智 32

[]与之相反的主要原因new Array()是你传递的论据.使用时new Array(10),创建一个包含10个元素的空数组,但在使用时[10],创建一个包含一个元素值的数组10.由于这通常是大多数程序员想要传递给数组的信息(因为数组在Javascript中是动态的),这通常被认为是最佳实践.也有new Array(10,20)不同的工作方式new Array(10).在这种情况下,你具有与[10,20]创建一个包含2个元素10和20的数组相同的效果.因为这是......奇怪的......很容易通过传递new Array()一个值而意外地创建一个空数组.[]总是有相同的效果,所以我也建议坚持下去.

  • +1我相信这是主要原因.如果我没记错的话,[]语法在早期的JavaScript实现中是不可用的. (4认同)
  • 实际上,在JavaScript 1.2中引入了数组和对象文字.IE 4和Netscape 4都支持数组和对象文字,所以这两天都可以完全安全使用,除非出于某种原因你需要满足这些浏览器的早期版本. (2认同)

use*_*291 7

  • Array的参数令人困惑(例如new Array(10)并且new Array("10")完全不同)