逻辑运算符
&& 与 : 多个条件同时满足
ΙΙ 或 : 多个条件满足一个
! 非 : 否定某个条件
例:
<script>
//&多个条件同时满足,才返回true
//任意一个为false,就返回false
var a =10;
var b =20;
var bool =(a>5)&(b>10);
console.log(bool);
</script>
结果咋是1?//逻辑运算符中0代表false,非零代表true
那就想看true和false怎么办!这么整:
console.log(Boolean(bool));
如果使用&&就不用转
<script>
//任意一个为false,就返回false
var a =10;
var b =20;
var bool =(a>5)&&(b>20);
console.log(bool);
</script>
也可以并排多个条件
var bool =(a>5)&(b>5)&(a>b);
//Ι 或,多个条件只要有任意一个结果返回true,就是true。
//ΙΙ短路或,只要一个满足后面的就不再进行,和java一样,效率更高,
//&&短路与也一样,只要一个不满足后面就不再进行。
这些就不再演示了
//取反
<script>
var a =10;
var b =20;
var bool =a>b;
console.log(bool);
</script>
结果原本是false
var bool =!(a>b); 取反就变成了true:
选择结构之if else
根据销售出的房子多少发奖金
<script>
var house =5;
if(true){
alert('奖金5000')
}
</script>
好,由此我们得知,if后条件为true就会执行后面的条件语句。
当我们根据上面的例子多重判断时一个一个写if太麻烦,就用if else:
<script>
var house =5;
if(house>10){
alert('奖金10000')
}else{
alert('奖金5000')
}
</script>
也可以在else后在接if判断:
<script>
var house =6;
if(house>10){
alert('奖金10000')
}else if (house>8){
alert('奖金8000')
}else if (house>5){
alert('奖金6000')
}else{
alert('奖金5000')
}
</script>
这是从上到下进行的,只要有一个满足就不会再继续进行。
if else之间也可以嵌套,就像上面我们写的就能套起来:
<script>
var house =-2;
if (house<0){
alert('你的努力我都看在眼里,就扣你1000工资吧')
}else {
if(house>10){
alert('奖金10000')
}else if (house>8){
alert('奖金8000')
}else if (house>5){
alert('奖金6000')
}else{
alert('奖金5000')
}
}
</script>
JS变量命名法则
1.驼峰命名法
第一个单词的首字母小写,剩下单词的首字母大写
2.不能用关键字开头
3.你的变量名要有意义,后面维护的时候要见名知意,不然你自己一看一堆aabbcc自己也啥不知道。
4.不能用数字开头
你要是说我英语不好,不想学英语,拼音可以用,第一个小写后面开头大写,一样的。
选择结构之switch case
等值判断时用ifelse太麻烦,用switch更方便,比如让你输今天周几:
<script>
var day = prompt ('请输入今天周几(1-7)');
switch (day){
case '1':alert('真不错,好好工作');
break;
case '2':alert('不错,好好工作');
break;
case '3':alert('好好工作');
break;
case '4':alert('好工作');
break;
case '5':alert('工作');
break;
case '6':alert('真不错');
break;
case '7':alert('不');
break;
}
</script>
是不是比if方便多了,
switch(比较的对象){case'值':执行代码}
break;
如果不用break跳出,后面代码会全部执行一遍,这叫"case击穿"
其实也可以利用case击穿:
<script>
var day = prompt ('请输入今天是第几个工作日(1-5)');
switch (day){
case '1':
case '2':
case '3':
case '4':
case '5':alert('今天是第'+day+'个工作日,请好好工作');
}
</script>
这用于等值要进行相同操作时。