0

次の簡単な Javascript コードがあります。

var input = [
    'one',
    'two'
];

for(var i in input){
    if(typeof input[i+1] == undefined){
        console.log("i is the last index");
    }
}

何か間違ったことをしたかどうかはわかりませんが、そのconsole.log()部分は決して実行されません。ifつまり、最後のインデックスを超えるインデックスが未定義であることは明らかですが、条件に入ることはありません。

このfiddleで確認できます。

説明してください..

4

7 に答える 7

6

if(typeof input[i+1] === 'undefined') { ... }

于 2013-05-23T11:59:25.990 に答える
0

JavaScripttypeof演算子は常に文字列を返すため、次の'undefined'ように比較する必要があります。

if(typeof input[i+1] === 'undefined')

ここに更新されたフィドルがあります - http://jsfiddle.net/Pharaon/V7EJZ/

于 2013-05-23T12:01:19.293 に答える