js的switch语句用法,js中switch判断为什么加了true之后运算符就生效了switch(true){}
js的switch语句用法,js中switch判断为什么加了true之后运算符就生效了switch(true){}详细介绍
本文目录一览: js中switch判断为什么加了true之后运算符就生效了switch(true){}
当条件为“真”(true)时,代表某个特定情况或设定是成立的。反之,如果条件为“假”(false),则表示该情况或设定不成立。在编程中,使用switch语句时,如果其条件为真,那么紧随其后的case表达式值也会被视为真。一旦匹配到相应的case值,程序就会进入该分支执行相应的代码。这个过程会一直持续到遇到break语句或者整个switch语句执行完毕为止。简而言之,当switch的条件为真时,程序会根据case表达式的值来决定进入哪个分支,并在遇到break或整个语句执行结束时停止。
JS中case语句后面除了可以跟常数之外还可以跟什么
当`case`后面跟随一个表达式时,这个表达式可以是任何返回值的语句或值,比如一个简单的常量、变量,或者更复杂的表达式,如`(function(){return 1+1})()`。只要这个表达式的结果是一个可以比较的值(如变量、字符串或常量),它就可以被用于`switch`语句中。
在JavaScript中,`switch`语句的用法与`if...else`语句有些相似,但它提供了一种更简洁的多路分支选择方式。具体执行逻辑如下:
1. 首先计算`switch`后面括号中的表达式,得到一个值。
2. 然后按照顺序计算每个`case`后面的表达式或值。
3. 将计算得到的值与每个`case`的值进行对比。如果两者相等,则执行该`case`后面的逻辑代码。
4. 如果在某个`case`中遇到了`break`语句,则会跳出`switch`语句,不再继续执行后续的`case`。
5. 如果在所有`case`中都没有找到匹配的值,那么会执行`default`语句中的代码(如果存在的话)。无论`switch`计算的值是否与任何`case`的值匹配,`default`语句都会执行,除非遇到了`break`语句来中断。
值得注意的是,在JavaScript中,`switch`语句后跟的表达式结果不仅限于常量或变量,只要是能够正确计算并返回一个值的JavaScript表达式都可以。
以下是一个具体的例子来展示上述描述:
```javascript
var id = 2;
var s = 1;
switch(id) {
case 2: // 计算常量并比较
alert('2 true');
break;
case s + 1: // 计算数字相加并比较
alert('1+1 true');
case s * 2: // 计算变量与常数的乘积并比较
alert('s*2 true');
default: // 如果没有匹配的case,执行此处的代码
alert('default');
}
// 另一个简单的例子使用函数来判断变量类型
function type(obj) {
switch(typeof obj) {
case 'string': return 'string';
case 'function': return 'function';
case 'object': return 'object';
case 'number': return 'number';
// 可以根据需要添加更多的case来处理其他类型
}
alert(type('字符串')); // 显示 'string' 因为'字符串'是一个字符串类型的变量名。
```
在这个例子中,我们首先定义了一个变量`id`和一个简单的算术表达式来作为`switch`语句的条件。然后我们用不同的`case`来匹配和执行相应的代码块。同时展示了如何使用函数来根据变量的类型返回相应的字符串。这有助于更好地理解和使用JavaScript中的`switch`语句。