Ich habe mich gefragt, ob es möglich ist, in einer Javascript-switch-Anweisung etwas Ähnliches wie 'this' zu verwenden, wenn Codeblöcke ausgeführt werden.
Beispielsweise:
switch(x) {
case 'The pyramids of Giza':
console.log(this);
break;
case 'The Leaning Tower of Pisa':
console.log(this);
break;
default:
console.log('Not found');
}
Ist das gleiche wie:
switch(x) {
case 'The pyramids of Giza':
console.log('The pyramids of Giza');
break;
case 'The Leaning Tower of Pisa':
console.log('The Leaning Tower of Pisa');
break;
default:
console.log('Not found');
}
Dies ist nur aus Effizienzgründen, danke!
3 Antworten
Sie haben Zugriff auf die Variable, die Sie in der Anweisung switch
testen. Wenn x
gleich "Die Pyramiden von Gizeh" ist, muss x
auch der Wert sein, den Sie in diesem case
verwenden möchten.
switch(x) {
case 'The pyramids of Giza':
console.log(x); // output: 'The pyramids of Giza'
break;
case 'The Leaning Tower of Pisa':
console.log(x); // output: 'The Leaning Tower of Pisa'
break;
default:
console.log('Not found');
}
Wenn Sie ein case:
besuchen, ist der Wert des in case:
angegebenen Werts immer die in der switch
-Anweisung angegebene Variable. Dies liegt daran, dass ein case:
nur besucht wird, wenn die Variable in erster Linie dem in case:
angegebenen Wert entspricht. Sie wissen also, dass, wenn Sie diesen Fall besucht haben, der Wert der Variablen muss mit dem in case:
angegebenen Wert übereinstimmen. Dies ist also der Code, nach dem Sie suchen:
switch(x) {
case 'The pyramids of Giza':
console.log(x);
break;
case 'The Leaning Tower of Pisa':
console.log(x);
break;
default:
console.log('Not found');
}
switch(x) {
case 'The pyramids of Giza':
console.log(x);
break;
case 'The Leaning Tower of Pisa':
console.log(x);
break;
default:
console.log('Not Found');
}
Sollte den Trick machen