2017-01-02 20 views
0

私はセミコロンを追加することによって少しのコードを壊すことができました。余分なセミコロンが文字列の等価性を破る

余計なセミコロンを含めると、if ...文を無視して、通常は真実に起因するコードを実行しますか?あるいは何か他のものがフードの下で起こるのですか?

var str = "NEWS"; 
var d = "W"; 

for (var i = 0; i < str.length; i++) 
{ 
    if (str[i] === d); // extra semi colon 
    { 
    alert("!" + str[i]); 
    break; 
    } 
} 
+2

';'は 'if'が真である場合に実行される(空の)コードブロックです。残りのコードは常に実行されます。 –

+1

「不要な」セミコロンではありません。セミコロンをターミネータとして使用する言語でセミコロンを使用しないでください。 – Damon

+0

それはタイプミスでした:) –

答えて

0

基本的には何もしない等しいです;を実行If(condition)を行っています。次に、通常はコードalertbreakを実行します。

1

セミコロンは、if文が実行されたときに実行されるコード行を表します。 {}の次のブロックは、ifステートメントで実行されます。

0

セミコロンには、if文の本文となる空文が導入され、その後には無条件のブロックが続きます。異なっインデント書かれた、それはブロックが、ここで任意の違いを確認しないことを考えると

var str = "NEWS"; 
var d = "W"; 
for (var i = 0; i < str.length; i++) { 
    if (str[i] === d) { 
     ; // extra semi colon 
    } 
    alert("!" + str[i]); 
    break; 
} 

と同じである

var str = "NEWS"; 
var d = "W"; 
for (var i = 0; i < str.length; i++) { 
    if (str[i] === d) 
     ; // extra semi colon 
    { 
     alert("!" + str[i]); 
     break; 
    } 
} 

です。

関連する問題