break
sagt Javascript Auswertung Fälle im switch
Block zu stoppen. Die Codeausführung wird nach der abschließenden switch
Klammer fortgesetzt. Die return
-Anweisung im Beispielcode wird in der Tat weitere Vorfälle verhindern, einschließlich anderer case
-Anweisungen und alles, was dem switch
-Block folgt.
Ich habe eine break
Anweisung in jedem Fall aus Gewohnheit. Wenn ich einen Fall ohne break
schreibe dann könnte ich kopieren und einfügen Code-Blöcke um in der Zukunft und das Fehlen einer break
Anweisung einen Fehler wie so würde:
function whereLivesA(species){
switch(species){
case 'worms':
// Relying on return to prevent further code execution within the switch
// block works but is ~bad~ smelly (according to plato :D)
var habitat = 'dirt'
return (species + ' live in ' + habitat);
case 'bees':
var habitat = 'hive';
break;
}
// Stuff to do after the switch statement (unless you returned already)
var str = species+' live in '+habitat;
return str;
}
console.log('whereLivesA');
console.log(whereLivesA("worms"));
console.log(whereLivesA("bees"));
/* Output:
whereLivesA
worms live in dirt
bees live in hive
*/
function whereLivesB(species){
switch(species){
case "worms":
// what if future code changes remove `return` and don't add `break`?
// return (species + ' live in ' + habitat)
var habitat = 'dirt';
// break;
case "bees":
var habitat = 'hive'
break;
}
// Stuff to do after the switch statement (unless you returned already)
var str = species+' live in '+habitat;
return str;
}
console.log('whereLivesB');
console.log(whereLivesB("bees"));
console.log(whereLivesB("worms"));
/* Output:
whereLivesB
bees live in hive
worms live in hive
*/
function whereLivesCorrect(species){
switch(species){
case "worms":
var habitat = 'dirt';
break;
case "bees":
var habitat = 'hive'
break;
}
// Stuff to do after the switch statement (unless you returned already)
var str = species+' live in '+habitat;
return str;
}
console.log('whereLivesCorrect');
console.log(whereLivesCorrect("bees"));
console.log(whereLivesCorrect("worms"));
/* Output:
whereLivesCorrect
bees live in hive
worms live in dirt
*/
JS Neulinge: Wenn Sie nicht tun Möchten Sie es in einer Datei speichern und node filename
ausführen, können Sie F12 drücken und dieses Skript oder andere eigenständige Skripts in die Konsole Ihres Browsers einfügen, um es auszuführen. Wenn Sie node.js verwenden, können Sie auch node
in eine Befehlszeile eingeben, um eine node
Konsole zu starten und sie dort einzufügen.
Diese _probably_ gegen Fehler zu vermeiden gerade ist, die von Kopieren/Einfügen und/oder haphhazardly modifizieren, dass Code in der Zukunft führen würde . Sieht für mich nach einem guten Sicherheitsnetz aus. – jahroy
die Vertiefungen, es kann nur eine stilistische Wahl gegeben werden - mit dem 'break' als Ende eines vorgeschlagen [Block] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/Block). Aber die 'break' ist nicht erreichbarer Code nach einer' return' Anweisung. Also, es wird nichts tun; aber es wird auch nichts weh tun. –