使用让 var on switch/case 不读取第一个案例



我是一个在代码学院学习javascript的初学者,我正在自学。

在下面的代码中,我使用let来声明具有不同值的相同var。我想使用开关/大小写条件,我想控制台打印我"Leandro",但我只得到"Ezequiel",但如果我(故意(更改Ezequil值,我会得到默认值。我想打印"Leandro">

let nombre = "Leandro";
nombre = "Ezequiel";
switch (nombre){
case "Leandro":
console.log("Leandro")
break;
case "Ezequiel":
console.log("Ezequiel")
break;
default:
console.log("Adios")
}
一个变量只能包含一个字符串。因此,当执行nombre = "Ezequiel";时,它会覆盖变量中的最后一个值。因此,如果你想有多个名称,你要么需要多个变量,要么需要一个数组。

为了能够重用开关,您可以将其作为一个函数并使用名称对其进行调用。

function getMessage(nombre) {
switch (nombre) {
case "Leandro":
console.log("Leandro")
break;
case "Ezequiel":
console.log("Ezequiel")
break;
default:
console.log("Adios")
}
}
let nombre1 = "Leandro";
let nombre2 = "Ezequiel";
getMessage(nombre1);
getMessage(nombre2);

请研究一下,看看什么时候可以有两个同名的变量,以及为什么不应该

<script>
var nombre=""; // global var - try to assign this with let for a surprise
function test1() {
nombre = "A"

}
function test2() {
let nombre = "B"
console.log(window.nombre,nombre)
}
test1()
console.log(window.nombre)
test2()
</script>

最新更新