控制语句
语句控制的是:数据 运算符 以及表达式
语句可以完成逻辑编程;语句中的代码片段,不是所有的都必须执行
控制语句分类:
1.条件语句
2.循环语句
今天接下来主要写的是条件语句。
条件语句
1.if(){} else{}
-
应用:在不同条件下输出不同结果时, 难点【如何根据条件写表达式】
-
代码块中变量 是【全局变量】
-
如果执行满足一个条件的代码块,其他条件下代码块不会执行
-
()必须是【true】才能执行 if 中 代码块,
-
true来源 1.直接true 2.表达式返回值 3.直接使用变量,变量的值转为布尔类型
举个例子://需求:测智商(要完成的事情) //1.不同条件下输出不同的结果 //2.确定条件 用户输入数组小于100 低智商100-120 正常 120-140 高智商 140以上 比爱因斯坦还厉害 var num = prompt(); if (num < 100) { alert('你的智商为' + num + '! 你的智商真低。'); } else if (num <= 120) { alert('你的智商为' + num + '! 你的智商正常。'); } else if (num <= 140) { alert('你的智商为' + num + '! 你的智商很高。'); } else { alert('你的智商为' + num + '! 你的智商比爱因斯坦还厉害。'); }
三元运算符
三元运算符是很方便很好用的一种条件判断方法,这个方法可以使调用或渲染数据时逐级筛选。不仅如此,如果适当的扩展三元运算符的逻辑,这个判断方法可以在某种情景下提高代码效率。
语法格式:
条件表达式?true:false
语法说明:
? 左边为 【条件】也就是 if 中()内容
: 右边为 【else 语句】
? 与 : 之间是满足条件的【if语句】
这个结构类似于:
if(条件表达式){
//true
}else{
//false
}
例子:
1、使用三元运算符计算2个数的最大值
var x, y, z;
x = window.prompt("第一个数");//从页面中接受的是字符串
y = window.prompt("第二个数");
z = Number(x) > Number(y) ? x : y; //将字符串转换为数字再进行比较
console.log(z);
// 等同于
if (Number(x) > Number(y)) {
z = x;
} else {
z = y;
}
//例如输入第一个数为10,第二个数为15,会得到结果为15
2、使用三元运算符求一个数的绝对值
var x, y;
x = window.prompt("请输入:");
y = x >= 0 ? x : -x;
//等同于
if (x > 0) {
y = x;
} else {
y = -x;
}
console.log(y);
//例如输入111,y=111
//例如输入-111,y=111
两种写法进行了对比,我们可以很明显的看出三元运算符的条件判断写法代码量更简洁,而常用的if…else…语句判断,会显得有点臃肿,而且也不够优美。所以我觉得懂得运用三元运算符是很有必要的。
三元运算符不仅在简单的条件判断下能用到,也能在一些复杂的场景下运用,那我们就通过三元运算符来模拟if( ){ } else if( ){ } else{ } 的判断模式。
接下来我再举例子,例子如下代码:
var flag = window.prompt("请输入第一个数:");
var a = 'aa';
// () 作用;分组 优先级高
flag == 1 ? (a = 'aa' ? console.log('pangDa真帅。' : console.log('pangDa真可爱。')) : console.log('pangDa加油哦。');
//等同于
if(flag == 1){
if(a = 'aa'){
console.log('pangDa真帅。');
}else{
console.log('pangDa真可爱。');
}
}else{
console.log('pangDa加油哦。');
}
//例如输入第一个数为1,则进行if(flag===1){}里面的判断
//输入第二个数为aa,此刻会得到结果为pangDa真帅。
//例如输入除了1以外其他值,会得到结果'pangDa加油哦。
我们除了可以把三元操作符用在等式的右边,也可以写在左边,例如:
var stop , age = 16;
age > 18 ? console.log('你已经是大人了啊,你要更加努力了啊') : stop = console.log('你还年轻,不过也要加油哦');
//这里会输出 你还年轻,不过也要加油哦