每当我使用数组,我总是用[]
的风格,但是,当我想用我用new Array(N)
元素的固定金额创建一个数组(我不知道这样做的任何其他方式)正确的方法来创建一个数组,N个元素没有旧的'新阵列(N)'?
我认为这不是什么大问题,直到我读到这一点,这些言辞激烈:
任何人都这样做,使用“新的Array()”而不是“[]”或“新 对象()”而不是“{}”需要重新学习JavaScript。
我真的想避免书面方式恶意代码。任何人都会告诉我正确的方向吗?
每当我使用数组,我总是用[]
的风格,但是,当我想用我用new Array(N)
元素的固定金额创建一个数组(我不知道这样做的任何其他方式)正确的方法来创建一个数组,N个元素没有旧的'新阵列(N)'?
我认为这不是什么大问题,直到我读到这一点,这些言辞激烈:
任何人都这样做,使用“新的Array()”而不是“[]”或“新 对象()”而不是“{}”需要重新学习JavaScript。
我真的想避免书面方式恶意代码。任何人都会告诉我正确的方向吗?
我不会太担心2006年在博客上有些随意评论特别是因为你的使用情况不只是new Array()
。您正在使用专门为此提供的特殊构造函数。
此外,使用new Array()
代替[]
几乎最糟糕的事情的人可以用JS做。
你可能是对的,我应该停止睡在胎位和灯光因为一个6岁的职位 – mithril333221 2012-02-12 03:38:10
请注意,这不会使这个报价必然_wrong_ - 只是我们需要能够识别夸张当我们看到它时。 – 2013-06-27 20:43:26
function repeat(str, len){
str= str || '';
len= len || 1;
return Array(len+1).join(str);
}
repeat('*',25)
// returned value: (String)
这是一个坏习惯。通常,省略'new'关键字是危险的和不正确的。只是发生'Array'构造函数行为良好,并通过在内部有效地用'new'关键字有效地重新调用构造函数来纠正你的错误。 – 2012-05-21 16:24:01
我不同意这是一个坏习惯。当他们习惯使用JavaScript时,有些人可能会遇到新的vs类工厂的几次绊脚石,但它几乎不需要教条式的练习(总是使用新的!或者总是使用工厂!),因为你可能偶尔会假设当它不是时,功能是一个工厂。这很容易表面和正确。通过语法提供最实用的语法清晰度。 'Point(x,y)'和JQuery的'$'对于工厂是有意义的,'new'可以用于不经常和不断创建的任何东西,比如'new Sprite(monsters [“dragon”])'' – Plynx 2013-06-27 15:39:57
我知道这个问题已经很老了,但这里是我如何使用JavaScript的文字语法将它编码为新数组(大小)的替代方法。
var arr = [];
arr.length = size;
我其实已经认为你已经很好了。大部分时间分配数组时,使用'[]'语法,当需要特定大小时使用'new Array(n)'。那里没有错,你发布的报价并不能说明所有情况。 – 2012-02-12 03:13:14
@Michael很好的了解!,我想我现在可以睡着灯:) – mithril333221 2012-02-12 03:16:54
我没有看到这样使用'Array'构造函数的错误。它的存在是有原因的。 – 2012-02-12 03:18:39