Day Two
例子1:判断大月还是小月
var month = prompt('请输入月份')
if (isNaN(month)) {
switch (month) {
//if else通常用于范围判断 if(a>2 && a<10),一般if-else用于等值判断时,如果超过两个,
就应该考虑用switch
break//一般用于跳出循环,在代码中代表代码走到这里就停
case//当表达式中的值和case后的值匹配时执行这里的语句
default//默认结构,找不到选择属性值,走到这个默认值
alert//提示警告属性,当输入错误时提醒。
switch和if else可以互相嵌套使用
三元表达式 三目表达式
var a = 10
var b = 0
else b = 30
b = a > 15 ? 40 : a > 10 ? 20 : 30//当a大于15b为40,当a大于10小于15时b为20,a小于10b为30
var a = 21
var b = 0
b = a > 20 && 30//当前面一个条件满足才会输出后面的值
JS的隐式转换
if (1 == true) console.log('hi')
if (0 == false) console.log('hi')
if(underfind == false)不能打印
if(underfind == 0)不能打印
if(null == false)不能打印
if(null == '') console.log('hi')
if(1) console.log('hi')
if(12222) console.log('hi')
if(0) 不能打印
var a = 0
if (a) console.log('hi')
// if (a!== 0 || a!== '' || a!==underfind|| a!==null)
else console.log('none')//打印none
var a = 0
if(!a)a = 20
//if !a这里的a === 0 || a ==='' || a===underfind || a===null
console.log( a );//所以a等于20
var a = prompt('请输入一个值')
console.log(a);
if (!a) a = 20
console.log(a);
var a = 10
var b = 0
//b = a || 20//先判断a有没有值,先判断a有没有值,没有,在赋值20
// b = a !==0 ? a : 20
//b = a ? a : 20//a有值把A给B
if(a)b = a
else b = 20
console.log(b)
//a里面有值,把a赋值给b,否则把20赋值给b
var a = 10
var b = 0
if(a > 20)
b = 30
else b = 40
//b = a > 20 && 30
var a = 110
var b = 0
if(a) b = a
else b = 20
b = a !== 0 ? a : 20
b = a || 20
b = a ? a : 20
b = a > 20 && 30
console.log(b);
循环
循环:重复的做一件事,
while(循环条件){循环操作}
var i = 1
循环条件为true则执行循环,否则退出循环
while(i <= 5){
console.log('第' + i + '圈')
i++
}
例子1:循环计算20以内所有奇数和偶数的和分开打印
var i = 1
var ji = 0
var ou =0
var total = 0
var count = 0
while(i <= 20){
if(i % 2===0){
ou++
total += i
}else{
ji++
count += i
}
i++
}
console.log('偶数个数为' + ou +'个')
console.log('奇数个数为' + ji + '个')
console.log('奇数和为' + count)
扩展:20以内实数相加的和
var i = 1
var b = 0
while(i <= 20){
b = b+ i++
}
console.log(b)
var i = 1
while(i <= 20){
if( i % 2 === 0 ){
console.log( i )
}
i++
}