Ich schaffte es, ein bisschen Code zu brechen, indem ich einen Semikolon hinzufügte.Extra Semikolon bricht Stringgleichheit
Enthält der Einschluss eines überflüssigen Semikolons, dass der Code die if ... -Anweisung ignoriert und den Code ausführt, der normalerweise der Wahrheit zugeordnet ist? Oder passiert unter der Haube sozusagen noch etwas?
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;
}
}
Das ';' ist der (leere) Codeblock, der ausgeführt wird, wenn 'if' wahr ist. Der Rest des Codes läuft jetzt immer. –
Es ist kein "überflüssiges" Semikolon - Sie sollten niemals ein Semikolon in einer Sprache einfügen, die Semikolons als Terminatoren verwendet. – Damon
war es ein Tippfehler :) –