Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/422.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 互联网博览会中的for loop没有任何价值_Javascript_For Loop - Fatal编程技术网

Javascript 互联网博览会中的for loop没有任何价值

Javascript 互联网博览会中的for loop没有任何价值,javascript,for-loop,Javascript,For Loop,我有一个不使用jquery的旧应用程序 因此是一个HTML选择对象 此代码给出一个错误,该值未在以下代码的第二行中设置: for (var i in so.options){ if(so.options[i].value=='X') { // do something } } 不过它在Firefox中也能工作。没有jquery,我怎么能捕捉到这一点呢?多亏了: 你也可以很聪明用于(变量i=0,l=myArray.length;i

我有一个不使用jquery的旧应用程序

因此
是一个HTML选择对象

此代码给出一个错误,该值未在以下代码的第二行中设置:

for (var i in so.options){
        if(so.options[i].value=='X') {
            // do something
        }
}
不过它在Firefox中也能工作。没有jquery,我怎么能捕捉到这一点呢?

多亏了:

你也可以很聪明<代码>用于(变量i=0,l=myArray.length;i ... 是向前迭代所能达到的最快和最好的速度

因此,我的IE和FF解决方案:

for(var i = 0, l = so.options.length; i < l; ++i){
    if(so.options[i].value=='X') {
        // do something
    }
}
for(变量i=0,l=so.options.length;i
这可能是因为
so.options
的第一个属性是
.length
属性,它是数字而不是对象

要迭代,您需要这样做:

for (var i = 0; i < so.options.length; ++i) {
    if (so.options.item(i).value == 'X') {
    }
}
for(变量i=0;i

不过,大多数浏览器可能会提供一个方便的访问器,所以
so.options[i].value
也应该可以使用。

什么类型的对象是
so.options
?请阅读这个,这个循环中的i++在哪里?我本来要编辑它,但您已经禁用了它。当然没问题。@geekpradd我没有禁用任何东西,可能是因为你的声誉分数太低,无法建议编辑?