2017-01-21 10 views
2
var array = [1, 2, 3, 4, 5, 6]; 

//print the reverse of an array 

function printReverse(array){ 
    for(i = array.length - 1, i >= 0, i--){ 
     console.log(array[i]) 
    } 
} 
printReverse(array); 

上記のコードは、配列を取って逆の順序でコンソールに出力するものとします。それは私にエラーを投げ、私は理由を理解することができません。5行目のUncaught SyntaxError:予期しないトークン)

答えて

5

forループにセミコロン:の代わりにカンマ,を使用しています。それは次のようになります。コンパイラは、セミコロンで区切られた3つの式、があると期待していたので、あなたは、Unexpected Tokenエラーを取得している

for(i = array.length - 1; i >= 0; i--) { 

。カンマで書くと、行全体が1つの式であると考えられます。カンマは区切りではないからです。

コメントに記載されているように、JSHintのようなjavascript linterを使用すると、特に言語を使い慣れていない方が良いアイデアです。リンターはコードを検査し、整頓、一貫性、互換性、よくある間違いなどの問題を指摘します。 Lintersは、ビルドツールとして、または多くのコードエディタに直接インストールすることができます。

+1

http://jshint.com/このエラーは – Quentin

+0

であると認識していましたが、これらのタイプの構文エラーをキャッチするためにeslint /その他の静的チェックをエディタにインストールすることもできます – teaflavored

関連する問題