Second JS Study

90 阅读1分钟

Day Two

          例子1:判断大月还是小月

            var month = prompt('请输入月份')

            if (isNaN(month)) {

                          console.log("请输入数字!")
                          }else {
                                     month = parseInt(month)

                                     switch (month) {

                                                 case 1:
                                                 case 3:
                                                 case 5:
                                                 case 7:
                                                 case 8:
                                                 case 10:
                                                 case 12:
                                                 console.log(month + '月有31天');
                                                 break//一般用于跳出循环,在代码中代表代码走到这里就停
                                                 case 2:
                                                 console.log(month + '月有28天');
                                                 break
                                                 case 4:
                                                 case 6:
                                                 case 9:
                                                 case 11:
                                                 console.log(month + '月有30天');
                                                 break
                                                 default:
                                                 console.log('请输入正确的月份');
                                                 break
                                                }
                                       }

//if else通常用于范围判断 if(a>2 && a<10),一般if-else用于等值判断时,如果超过两个,

就应该考虑用switch

//switch case通常用于等值判断,结构

break//一般用于跳出循环,在代码中代表代码走到这里就停

case//当表达式中的值和case后的值匹配时执行这里的语句

default//默认结构,找不到选择属性值,走到这个默认值

alert//提示警告属性,当输入错误时提醒。

switch和if else可以互相嵌套使用

三元表达式 三目表达式

var a = 10

var b = 0

if (a > 5) b = 40//如果if else中,只有一行,则可以省略花括号

else b = 30

b = a > 5 ? 40 : 30//三元表达式,当a大于5时b为40,a<5 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('偶数和为' + total)

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++

}

用循环计算7月8号是今年的第几天:

var month = 7
var date = 8
var total = 0//总天数
total += date//先加上零头
var i = 1
//加上之前的整月的总天数,如7月,就是前6个整月
while (i <= 7 - 1){
switch(i){
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
total += 31
break
case 2:
total += 29
break
case 4:
case 6:
case 9:
case 11:
total +=30
}
i++
}
console.log(total + '天');