// 当default 放在case之间 且没有break// 代码先执行输出 default 然后 没有break 继续往下执行 不论foo 与里面值是否匹配 都会执行。//然后就执行输出1 总结 先执行 console.log('default')==》接着执行 console.log(1);var foo =5;switch(foo){case 2:console.log(2);break;default:console.log('default');// 如果这里 有break 控制台只会输出default 就不会 输出 1了case 1:console.log(1);}
注意:代码将会从值所匹配的 case 语句开始运行,然后持续执行下一个 case 语句而不论值是否匹配。不匹配也会执行 直到遇到break 才跳出去。
case字句 与所输入的 expression 的值所相等的子句(使用 严格运算符,===)并将控制权转给该子句
就是进行 全等的校验。
// 当default 放在case之间 且没有break 但后面有他的匹配值// 它回跳过 default 直接找到它的匹配值。输出5;var foo =5;switch(foo){case 2:console.log(2);break;default:console.log('default');// 如果这里 有break 控制台只会输出default 就不会 输出 1了case 1:console.log(1);break;case 5:console.log(5);break;}//=========================================================================================// 当default 放在case之间 且没有break 但后面有他的匹配值 不过是字符串 但是 他会与子语句 进行全等比较。 不符合 执行 default语句。var foo =5;switch(foo){case 2:console.log(2);break;default:console.log('default');// 如果这里 有break 控制台只会输出default 就不会 输出 1了case 1:console.log(1);break;case '5':console.log(5);break;}
