一.if语句
1.真值和假值
小括号里的条件是真值(逻辑值),才能执行花括号里的代码。
<script>
if(true){
var a=10;
console.log(a); //10
}
</script>
小括号里的条件是真值(数值,会转换成逻辑值),才能执行花括号里的代码。
<script>
if(1){
var a=10;
console.log(a); //10
}
</script>
小括号里的条件是真值(两个数进行比较运算得出的逻辑值),才能执行花括号里的代码。
<script>
if(8>7){
var a=10;
console.log(a); //10
}
</script>
小括号里的条件为假值(逻辑值),就不能执行花括号中的代码。
<script>
if(false){
var a=10;
console.log(a); //无法打印,但是控制台不会报错
}
</script>
小括号里的条件为假值(数值,会转换成逻辑值),就不能执行花括号中的代码。
<script>
if(0){
var a=10;
console.log(a); //无法打印,但是控制台不会报错
}
</script>
小括号里的条件是假值(两个数进行比较运算得出的逻辑值),才能执行花括号里的代码。
<script>
if(8<7){
var a=10;
console.log(a); //无法打印,但是控制台不会报错
}
</script>
总结
真值:条件成立。例如,2>1
假值:条件不成立。例如,2<1
2.逻辑运算符的参与
与
逻辑运算符采用了&&,它的作用:只有小括号里的两个条件都是真值,才能执行花括号中的代码。
第一种情况:两个真值
<script>
if(8>7 && 2>1 ){
var a=10;
console.log(a); //10
}
</script>
第二种情况:一真一假
<script>
if(8>7 && 2<1 ){
var a=10;
console.log(a); //无法打印
}
</script>
在生活中,灯泡串联图是两个灯泡连在一起的,只要有一盏灯不会亮,其他的灯也就不会亮,因为他们之间的线路是连在一起的。
或
从中文意思来看,是多选一的意思。
逻辑运算符采用了||,它的作用:在小括号的所有条件中,只要有一个是真值,就能运行花括号里的代码。
第一种情况:一真一假
<script>
if(8>7 || 2<1 ){
var a=10;
console.log(a); //10
}
</script>
在生活中,灯泡并联图是多个灯泡的线路是分开的,如果有一个灯泡的线路走不通了,可以换一条可以走通的线路。所以,一盏灯泡的线路阻塞是不会影响总线路的运行,大不了换一条就行了。
非
从中文意思来看,是表否定的意思。
逻辑运算符采用了!
!的作用:取反。
<script>
if(!2<1){
var a=10;
console.log(a); //10
}
</script>
2<1返回的结果是个假值,利用!可以变成真值。
总结:!可以加很多次,可以不断地取反。
二.if … else if语句
从英文的角度上看,if是一个条件语句,所以后面肯定是要跟条件的。
从编程的角度上看,else是一个关键字,必须要和if语句搭配使用。
<script>
var a=prompt("请输入一个数");
if(a>0){
console.log("正数");
}
else if(a<0){
console.log("负数");
}
else if(a==0){
console.log("0既不是正数,也不是负数");
}
</script>
从代码中可以看出,只要有了else关键字,就可以实现多条分支语句的判断。
三.if … else语句
关键字else的后面是不可以跟条件的,只有if语句后面才能跟条件。
从英文角度来看,else是否则的意思。
else:除了上面的条件之外,其他的条件都会打印负数。
<script>
var a=prompt("请输入一个数");
if(a>0){
console.log("正数");
}
else if(a==0){
console.log("0既不是正数,也不是负数");
}
else{
console.log("负数");
}
</script>
四.switch语句
switch是有开关的意思,和编程连接起来的话,开就是1,关就是0。
1是真值,0是假值。
case是关键字,有符合实际情况的意思,相当于输入内容与case后面的内容相符合,就能打印结果。
default是关键字,有默认的意思,与下面的例子结合,相当于其他的实际情况,控制台都会打印“我翻译不出来”。
注意事项:数字不需要加双引号,但是字符串一定要加。变量也不可以加双引号,不然它变量也变成字符串了。
写法1:在switch后面的小括号中填了一个变量,根据你输入的英语单词,来识别中文。
<script>
var a=prompt("请输入一个单词"); //提示框:用来输入
switch(a){
case "cat":
console.log("猫");
break;
case "mouse":
console.log("老鼠");
break;
default:
console.log("我翻译不出来");
break;
}
</script>
写法2:在switch后面的小括号里是可以进行数学运算的,因为它有开和关的特性,直接根据值来判断的。
<script>
var a=prompt("请输入一个分数");
switch(a/10){
case 9:
console.log("结果为9");
break;
case 8:
console.log("结果为8");
break;
default:
console.log("无结果");
break;
}
</script>
总结:提示框输入的内容是字符串类型,可以用typeof测试一下。如果要转换成数字类型的,就需要用parseInt()的方法来做。
var a=parseInt(prompt("请输入一个数"));
五.if语句与switch语句的区别
相同点:它们都是条件判断语句。
不同点:
if语句可以在条件里进行逻辑判断。
switch语句不可以在条件里进行逻辑判断。
六.嵌套
根据html标签的理解方式来说,相当于是一个大盒子里有两小盒子。
也就是1个div标签里有1个p标签和1个span标签。
综合案例:求最大值
<script>
var a=parseInt(prompt("请输入一个数"));
var b=parseInt(prompt("请输入一个数"));
var c=parseInt(prompt("请输入一个数"));
console.log("三个数"+a+" "+b+" "+c+" ");
if(a>b){
if(a>c){
console.log("最大值:"+a);
}
else{
console.log("最大值:"+c);
}
}
else{
if(b>c){
console.log("最大值:"+b);
}
else{
console.log("最大值:"+c);
}
}
</script>
思路
①先要把输入内容转换成数字类型,为了做一些数学上的判断。
②打印三个数。
③第1个数与第2个数进行比较,如果第1个数大,就让第1个数与第3个数进行比较。如果第1个数大,就打印第1个;否则就打印另外一个。
④第1个数与第2个数进行比较,如果第2个数大,就让第2个数与第3个数进行比较。如果第2个数大,就打印第2个;否则就打印另外一个。
篇章
上一篇:js笔记4-数学对象和运算符
下一篇:js笔记6-循环结构