一、条件语句
1、if…else…
let a = 1;
if(a === 1){
console.log(`a=${a}`); //打印a = 1
}
else{
console.log("a不等于1"); //打印 a不等于1
}
2、switch(…){case 数值: 表达式; default: break;}
let a = 20;
switch(a){
case 20:console.log("a + 20 = " + (a + 20));
case 30:console.log("a不等于20");
default:break;
}
//最后打印为 a + 20 = 40
3、附加 : 位运算是会直接舍弃(不包含四舍五入)小数部分;
例如: let a = 10/3; console.log(a | 0); 最终得3
console.log(floatNum.toString(2)); // 转换成二进制表示的字符串
“11.010101010101010101010101010101010101010101010101011”
那么a和0进行或运算后,舍弃了小数部分,二进制也由原来的11.01010101变成了11
0000 0000 0000 0000 0000 0000 0000 0011
0000 0000 0000 0000 0000 0000 0000 0000
4、循环语句for( let i = 0 ; i <= 100 ; i++ ){…}
//for的缺省
let sum = 0;
let i = 1;
for( ; ; ){
if(i > 10){
break;
}
sum += i;
i++;
}
//包含关键词 for while break continue
//对于continue
for(let i = 0; i < 5; i++){
if( i === 2){
continue;
}
console.log(i);
}
//结果为1 3 4 跳过了2
5、如何使(a == 1 && a== 2 && a == 3){ console.log(“打印”);}能执行(涉及“==”的因式转换中valueOf和toString的优先级问题)
const a = {
a:1;
valueOf: ()=>a++;
//valueOf: function(){
return a++;
}
}
if(a == 1 && a == 2 && a == 3){
console.log("能运行"); //可以打印
}