Heim  >  Artikel  >  Web-Frontend  >  Ein Detail, bei dem bei der Beurteilung von Schaltern in JavaScript leicht Fehler gemacht werden können_Grundkenntnisse

Ein Detail, bei dem bei der Beurteilung von Schaltern in JavaScript leicht Fehler gemacht werden können_Grundkenntnisse

WBOY
WBOYOriginal
2016-05-16 16:38:291345Durchsuche

Die Switch-Anweisung ist am engsten mit der If-Anweisung verwandt. Sie ist auch eine Flusskontrollanweisung, die häufig in anderen Programmiersprachen verwendet wird. Wenn Sie jedoch nicht auf dieses Detail achten macht beim Schreiben von Programmen oft Fehler.

Code:

var n = '5';
switch(n){
    case 5:
        alert('执行case分支');
        break;
    default:
        alert('执行default分支');
}

Ergebnis:

Ein Detail, bei dem bei der Beurteilung von Schaltern in JavaScript leicht Fehler gemacht werden können_Grundkenntnisse

Viele Leute denken vielleicht fälschlicherweise, dass das obige Programm den Case-Zweig übernimmt, aber am Ende übernimmt es den Standardzweig. Sind die beiden nicht gleich? Werfen wir einen Blick mit der if-Anweisung.

Code:

var n = '5';
if(n==5){
    alert('真 分支');
}else{
    alert('假 分支');
}

Ergebnis:

Ein Detail, bei dem bei der Beurteilung von Schaltern in JavaScript leicht Fehler gemacht werden können_Grundkenntnisse

Es kann in der if-Anweisung übereinstimmen, aber warum kann es in der switch-Anweisung nicht übereinstimmen?

Das liegt daran, dass die Groß-/Kleinschreibung in der Switch-Anweisung den kongruenten Modus verwendet, was der Verwendung von drei Gleichheitszeichen in if entspricht. Schreiben wir den Fallcode um

Code:

var n = '5';
switch(n){
    case '5': // 把原来的 case 5 改写成 case '5'
        alert('执行case分支');
        break;
    default:
        alert('执行default分支');
}

Ergebnis:

Ein Detail, bei dem bei der Beurteilung von Schaltern in JavaScript leicht Fehler gemacht werden können_Grundkenntnisse

Nach dem Umschreiben können Sie den Fallzweig übernehmen, so wie wir drei kongruente Zeichen in if

verwenden

Code:

var n = '5';
if(n===5){
    alert('真 分支');
}else{
    alert('假 分支');
}

Ergebnis:

Ein Detail, bei dem bei der Beurteilung von Schaltern in JavaScript leicht Fehler gemacht werden können_Grundkenntnisse

Da Kongruenz verwendet wird, ist die Zeichenfolge 5 nicht gleich der Zahl 5 und das Ergebnis ist ein falscher Zweig.

Das obige Beispiel zeigt, dass der kongruente Abgleichsmodus in switch verwendet wird, insbesondere ein Problem, das beim Abgleich von Zahlen und Zeichenfolgen beachtet werden muss

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn