我理解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]
以及为什么它是方括号?
答案 0 :(得分:5)
[]
是一种从给定特定key
的对象中选择属性的方法,在这种情况下,键(或index
)是i
,对象是array
。在数组中,索引可以从0到数组的长度 - 1。
在对象中,键是该对象中任何属性的名称。例如,您还可以使用以下内容从对象selected
中选择属性键selectObject.options[i]
的值:selectedObject.options[i]['selected']
。
作为for loop
的替代方案,您可以使用for in loop
。适用于对象(和数组)。
for (var key in selectObject.options) {
if (selectObject.options[key].selected) {
numberSelected++;
}
}
答案 1 :(得分:1)
selectObject.options返回array
,而[ ]
是从数组中获取元素的方法,使用其索引(在您的情况下为i
)
假设你有一个像这样的字符串数组:
var arr = ["this", "is", "an", "array", "of", "strings"];
并且您想要访问其中一个数组的元素,您可以:
console.log(arr[5]); // prints "strings" to the console
答案 2 :(得分:1)
[i]
用于处理例如数组中的变量。
假设您有一个包含sarah
和john
的数组名称。 names[0]
会返回sarah
。
你的for循环所做的是遍历selectObject.options中的所有条目,并查看selected的值(很可能是true / false)。
答案 3 :(得分:0)
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++