javascript逻辑判断与循环笔记
短路运算(逻辑中断)
1、短路运算的原理:当有多个表达式(值)时,左边的表达式值可以确定结果的时候就不再继续运算右边的表达式的值
2、逻辑与 &&
如果第一个表达式的值为真,则返回表达式2的值
如果第一个表达式的值为假,值返回表达式1的值
3、逻辑或 ||
如果第一个表达式的值为真,则返回表达式1的值
如果第一个表达式的值为假,则返回表达式2的值
运算符优先级
逻辑运算符 先&& 后 ||
流程控制
1、流程控制就是来控制我们的代码按照上面机构顺序来执行
2、主要有三种结构,顺序结构,分支机构,循环结构
分支机构、执行多行代(多选一的过程)
3、三元表达式语法结构---------条件表达式?表达式1:表达式2
4、如果条件表达式结果为真,返回表达式1的值,否则返回表达式2的值
5、switch语法格式
switch(表达式){
case value1:
执行语句1;
break;
case value2:
执行语句2 ;
break;
........
default;
执行最后语句;
}
6、利用我们表达式的值和case后面的选项值匹配,如果匹配上就执行该case里面的语句,否则就执行default里面的语句
7、如果当前case里面没有break就不会退出switch继续执行写一个case
8、循环的目的:可以重新执行某些代码
9、for循环的语法
for(初始化变量;条件表达式;操作表达式){
循环体
}
10、初始化变量:就是声明一个普通的变量,通常用于计数器使用
条件表达式:就是用来决定每一次循环是否继续执行,判断停止的条件
操作表达式:就是用于我们计数器变量进行更新(递增或者递减)
1 // 判断是否成年 2 var age = parseInt(prompt("请输入年龄")) 3 if (age >= 18) { 4 alert("欢迎光临") 5 } else { 6 alert("您不可以进来") 7 } 8 9 // 判断是否是闰年 10 var years = parseInt(prompt("请输入年份")) 11 if (years % 4 == 0 && years % 100 !== 100 && years % 400 == 0) { 12 console.log("是闰年"); 13 } else { 14 console.log("是平年"); 15 } 16 // 判断是否大于5 17 var max = 10; 18 var min = max > 5 ? '1' : '2'; 19 console.log(min); 20 21 var num2 = parseInt(prompt("请输入数字")) 22 var num3 = num2 > 10 ? num2 : '0' + num2 23 console.log(num3); 24 25 // 练习switch语句 26 var num=1; 27 switch(num){ 28 case 1: 29 console.log(1); 30 break; 31 case 2: 32 console.log(2); 33 break; 34 default: 35 console.log(3); 36 } 37 38 var fruits=prompt("请输入要买的水果") 39 switch(fruits){ 40 case '苹果': 41 alert("5块钱一斤"); 42 break; 43 case '香蕉': 44 alert("6块钱一斤") 45 break; 46 case '火龙果': 47 alert("8块钱一斤") 48 break; 49 default: 50 alert("没有这个水果") 51 52 } 53 54 // 1~100的平均值 55 let sum = 0; 56 for (let i = 1; i <= 100; i++) { 57 sum = sum + i; 58 } 59 avgrege = sum / 100 60 console.log(avgrege); 61 62 63 // 1~100之间使有奇数与偶数的和 64 let even = 0; 65 let odd = 0; 66 for (let i = 1; i <= 100; i++) { 67 if (i % 2 !== 0) { 68 even = even + i; 69 } else { 70 odd = odd + i; 71 } 72 } 73 console.log(even); 74 console.log(odd); 75 76 // 不能被3整除的数和 77 let and = 0; 78 for (let i = 1; i <= 100; i++) { 79 if (i % 3 != 0) { 80 and = and + i; 81 } 82 } 83 console.log(and); 84 85 // 求班级总成绩与平均分 86 let num = parseInt(prompt("请输入班级人数")) 87 let sum = 0 88 let avgrege = 0 89 for (let i = 1; i <= num; i++) { 90 let and = parseInt(prompt("请输入" + i + "个成绩")) 91 sum = sum + and 92 } 93 avgrege = sum / num 94 console.log(sum); 95 console.log(avgrege); 96 let str = "" 97 for (let i = 1; i <= 5; i++) { 98 for(let j=5;j<=i;j++){ 99 str = str + "%" 100 } 101 } 102 console.log(str); 103 104 // 倒计时代码 105 function countDown(time){ 106 var nowTime= +new Date(); 107 var inputTime= +new Date(time); 108 var times=(inputTime-nowTime)/1000; 109 var d=parseInt(times/60/60/24); 110 var h=parseInt(times/60/60%24); 111 var m=parseInt(times/60%60); 112 var s=parseInt(times%60); 113 return d+'天'+h+'时'+m+'分'+s+'秒'; 114 } 115 console.log(countDown('2020-3-21 19:00:00')); 116 var date =new Date(); 117 console.log(date); 118 119 // 计算器小功能 120 var num1=prompt("请输入的一个数"); 121 var num2=prompt("请输入第二个数"); 122 var sf=prompt('请选择算法\n+:加法\n-:减法\nx:乘法\n/:除法'); 123 function abl(x,f){ 124 switch(sf){ 125 case "+": 126 return x+f; 127 break; 128 case "-": 129 return x-f; 130 break; 131 case "*": 132 return x*f; 133 break; 134 case "/": 135 return x/f; 136 break; 137 default: 138 alert("请输入选择的算法"); 139 } 140 } 141 var af=abl(num1/1,num2/1); 142 alert(af);