Javascript 理解交换机内部的表达式
考虑以下脚本:Javascript 理解交换机内部的表达式,javascript,Javascript,考虑以下脚本: var x = 1; switch (x) { case ( ( x+1 ) == 2 ): console.log("It works!"); break; default: console.log("Nope, not happening."); break; } 现在,我读到了case中的表达式被计算,然后与变量进行比较。这里,由于x是1,(x+1)==2计算结果为TRUE。另外,x(原来是
var x = 1;
switch (x) {
case ( ( x+1 ) == 2 ):
console.log("It works!");
break;
default:
console.log("Nope, not happening.");
break;
}
现在,我读到了case
中的表达式被计算,然后与变量进行比较。这里,由于x
是1,(x+1)==2
计算结果为TRUE
。另外,x
(原来是1)的值相当于TRUE
。如果这个推理是正确的,为什么我会得到“不,不会发生”的信息
请解释。这样做:
var x = 1;
switch (x + 1) {
case 2:
console.log("It works!");
break;
default:
console.log("Nope, not happening.");
break;
}
这样做:
var x = 1;
switch (x + 1) {
case 2:
console.log("It works!");
break;
default:
console.log("Nope, not happening.");
break;
}
这样做:
var x = 1;
switch (x + 1) {
case 2:
console.log("It works!");
break;
default:
console.log("Nope, not happening.");
break;
}
这样做:
var x = 1;
switch (x + 1) {
case 2:
console.log("It works!");
break;
default:
console.log("Nope, not happening.");
break;
}
您没有正确阅读
开关
语句的签名。它开关(x)
要求表达式x
,而案例y
要求值y
请参阅my和。您没有正确阅读
开关的签名。它开关(x)
要求表达式x
,而案例y
要求值y
请参阅my和。您没有正确阅读开关的签名。它开关(x)
要求表达式x
,而案例y
要求值y
请参阅my和。您没有正确阅读开关的签名。它开关(x)
要求表达式x
,而案例y
要求值y
请参阅my和。(X+1)==2返回true而不是1。在大小写中使用值。(X+1)==2返回true而不是1。在大小写中使用值。(X+1)==2返回true而不是1。在大小写中使用值。(X+1)==2返回true而不是1。在大小写中使用值。因为1与true不“等价”
。开关使用==
进行比较。@ParamagneticCroissant啊,这是一个很好的洞察!谢谢你的解释。:-)因为1与true
不“等价”。开关使用==
进行比较。@ParamagneticCroissant啊,这是一个很好的洞察!谢谢你的解释。:-)因为1与true
不“等价”。开关使用==
进行比较。@ParamagneticCroissant啊,这是一个很好的洞察!谢谢你的解释。:-)因为1与true
不“等价”。开关使用==
进行比较。@ParamagneticCroissant啊,这是一个很好的洞察!谢谢你的解释。:-)谢谢,但我试图理解开关的复杂性。用户@risto对此进行了解释;)是的,我刚刚看到了。但也谢谢你的回答!:)谢谢,但我试图理解开关的复杂性。用户@risto对此进行了解释;)是的,我刚刚看到了。但也谢谢你的回答!:)谢谢,但我试图理解开关的复杂性。用户@risto对此进行了解释;)是的,我刚刚看到了。但也谢谢你的回答!:)谢谢,但我试图理解开关的复杂性。用户@risto对此进行了解释;)是的,我刚刚看到了。但也谢谢你的回答!:)谢谢这对我来说就是答案。:-)谢谢这对我来说就是答案。:-)谢谢这对我来说就是答案。:-)谢谢这对我来说就是答案。:-)