最佳答案
我读过的关于JavaScript中数组的大多数教程(包括w3学校和devguru)都建议您可以通过使用var test = new Array(4);
语法将整数传递给数组构造函数来初始化具有一定长度的数组。
在我的js文件中大量使用这种语法后,我通过jsLint运行其中一个文件,它吓坏了:
错误:第1行字符22的问题:预期')',而不是看到'4'。
var test=new数组(4);
第1行字符23的问题:预期';',而不是看到')'。
var test=new数组(4);
第1行第23个字符的问题:需要一个标识符,而是看到 ')'.
在阅读了jsLint对其行为的解释之后,看起来jsLint并不真正喜欢new Array()
语法,而是在声明数组时更喜欢[]
。
所以我有几个问题:
首先,为什么?我改用new Array()
语法有任何风险吗?是否有我应该注意的浏览器不兼容问题?
其次,如果我切换到方括号语法,有没有办法在一行上声明一个数组并设置它的长度,或者我必须这样做:
var test = [];test.length = 4;