创建新数组时,“new Array(number)”是什么意思?
new Array(number)
是什么意思,new Array()
是什么意思?例如:
var weekday=new Array(7);
weekday[0]="Sunday";
weekday[1]="Monday";
weekday[2]="Tuesday";
weekday[3]="Wednesday";
weekday[4]="Thursday";
weekday[5]="Friday";
weekday[6]="Saturday";
What does new Array(number)
mean, and what does new Array()
mean? For example:
var weekday=new Array(7);
weekday[0]="Sunday";
weekday[1]="Monday";
weekday[2]="Tuesday";
weekday[3]="Wednesday";
weekday[4]="Thursday";
weekday[5]="Friday";
weekday[6]="Saturday";
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
过去,某些浏览器会预先分配一些空(
未定义
)数组条目。在我看来,这是毫无意义的,实际上是一个坏习惯,尽管现在这种情况并没有发生。这只是一个奇怪的 API,而奇怪的东西就是 bug 启动器。你的代码可以更漂亮,例如:
我认为 new Array(n) 是一个坏主意的原因是 Array 构造函数的设置有两种模式:
意味着创建一个 Array 实例22 个空条目,但
意味着创建一个具有 3 条目的 Array 实例。这是令人困惑和奇怪的,而且真的不应该这样做。
In days of yore, some browsers would pre-allocate some number of empty (
undefined
) array entries. In my opinion, it's pointless and in fact a bad habit even though that doesn't happen now. It's just a weird API and weird things are bug launchers.Your code could be much prettier, for example:
My reason for thinking that
new Array(n)
is a bad idea is that the setup of the Array constructor has two modes:means to create an Array instance with 22 null entries, but
means to create an Array instance with 3 entries. It's confusing and weird, and really shouldn't have been done that way.
这
var 工作日 = 新数组( 7 );
正在声明一个包含 7 个项目的数组,如以下几行所示。该数组在每个索引( number )处存储值,并且您可以通过变量[#] 访问这些值。
在 javascript 中不需要它,但许多其他语言(例如 Java)需要显式值。
The
var weekday = new Array( 7 );
is declaring an array with 7 items in it, as shown by the following lines. The array stores values at each index( number ) and you access the values via variable[#]
You do not need it in javascript but many other languages such as Java require an explicit value.
Pointy 的回答完美地总结了这一点。只是为了添加另一种选择,您可以这样做(例如,如果您要在循环中执行某些操作而不是对其进行硬编码):
Pointy's answer sums it up perfectly. Just to add another alternative, you could do it like this (if you were to do something in a loop rather than hardcoding it for example):
数组中的数字构造函数充当容量,但因为数组是动态的,您可以分配:
同样在 JavaScript 中,您可以通过更新 length 属性来截断和扩大数组。
我建议您阅读 JavaScript:权威指南,第五版,第 7 章:“对象和数组”。您需要了解对象、数组、类数组对象之间的区别。
the number - constructor in an array works as capacity, but cause arrays - are dynamic you may assign:
also in JavaScript you may truncating and enlarging an array by updating the length property.
I wish to recommend you to read JavaScript: The Definitive Guide, 5th Edition, the chapter 7: "Objects and Arrays". You need to understand difference between object, array, array-like object.