[英]JavaScript For loop with square brackets
我了解 JavaScript 中 For 循环的基本结构。 我正在查看以下示例:
function howMany(selectObject) {
var numberSelected = 0;
for (var i = 0; i < selectObject.options.length; i++) {
if (selectObject.options[i].selected) {
numberSelected++;
}
}
return numberSelected;
}
在第四行,我不明白你在术语中如何称呼[i]
以及为什么它是方括号?
[]
是一种从给定特定key
的对象中选择属性的方法,在这种情况下,键(或index
)是i
而对象是array
。 在数组中,索引可以从 0 到数组的长度 - 1。
在对象中,键是该对象内任何属性的名称。 例如,您还可以使用以下selectObject.options[i]
selected
从对象selectObject.options[i]
selected
的属性键的值: selectedObject.options[i]['selected']
。
作为for loop
的替代方法,您可以使用for in loop
。 适用于对象(和数组)。
for (var key in selectObject.options) {
if (selectObject.options[key].selected) {
numberSelected++;
}
}
[i]
用于寻址例如数组中的变量。
假设您有一个包含sarah
和john
的数组名称。 names[0]
将返回sarah
。
您的 for 循环所做的是遍历 selectObject.options 中的所有条目并查看 selected 的值(很可能是 true/false)。
selectObject.options 返回一个array
,而[ ]
是从数组中获取元素的方法,使用其索引(在您的情况下为i
)
假设你有一个像这样的字符串数组:
var arr = ["this", "is", "an", "array", "of", "strings"];
并且您想访问数组的元素之一,您可以:
console.log(arr[5]); // prints "strings" to the console
function howMany(selectObject) {
var numberSelected = 0;
for (var i = 0; i < selectObject.options.length; i++) {
if (selectObject.options[i].selected) {
numberSelected++;
}
}
return numberSelected;
}
In this above code why is numberSelected, and in the coditional statement numberSelected++
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.