JS学习三:输入数字显示计划安排

计划安排代码主体

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body>
		<script type="text/javascript">
			var a = prompt("请输入今天星期几:","");
			if (a>0&&a<=7){
				alert("输入数在1~7之间")
				switch(a){
					case "1":
					document.write("今天星期一,升旗");
					break;
					case "2":
					document.write("今天星期二,校史馆一游");
					break;
					case "3":
					document.write("今天星期三,没课");
					break;
					case "4":
					document.write("今天星期四,半天课");
					break;
					case "5":
					document.write("今天星期五,准备休息");
					break;
					case "6":
					document.write("今天星期六,睡懒觉");
					break;
					default:
					case "7":
					document.write("今天周末,准备开班会");
					break;
				}
			}else{
				alert("你睡迷糊了吧,输错了!");	
			}
			
			
		</script>
	</body>
</html>

脚本代码较为基础,所以采用直接写在html文档里,一般项目稍大或者从专业性角度出发,还是另开一个文件夹比较好,这样只是便于初级学习。
略过初级的var变量声明定义与prompt输入函数,遇到的就是if,elseswitch三个陌生代码。

  • if else语句
    在认识if else语句之前,先了解if语句。
    if语句又称为单分支语句,使用条件判断语句可以在执行某个语句之前进行判断,如果条件成立才会执行语句,条件不成立则语句不执行。其语法结构:
    if(条件表达式){
    
        语句块
    }

    //当条件表达式结果为true时,就执行语句

-如果if后的大括号中的语句块只有一行代码,则可以省略大括。

if else语句
if else是双分支语句,与if语句相比就是多了else及其当中的执行语句。代码如下:

    if(条件表达式){

        语句块1

    }else{

        语句块2

    }

    //当条件表达式结果为true时,就执行语句1

    //如果条件表达式结果为false,就执行语句2

跟三目运算符类似,正确(true)就执行前面的语句块,错误(false)就执行后面的语句块。

if else嵌套
if else嵌套语句为多分支语句,相较于前面的单分支与双分支语句具有更多的选择。
代码格式如下:

    if (条件表达式1){

            语句块1

    }else if(条件表达式2){

            语句块2

    }else if(条件表达式3){

            语句块3

    }……else{

            语句块n

    }

可以看出多分支语句与前面两个语句比多了 else if的中间分支,可以记if else的嵌套语句是内外相反的或者嵌套语句就是if else不断嵌套,一个接一个。
执行流程

  • if…else if…else语句执行时,会自上至下依次对条件表达式进行求值判断,

  • 如果判断结果为true,则执行当前if后的语句,执行完成后语句结束。

  • 如果判断结果为false,则继续向下判断,直到找到为true的为止。

  • 如果所有的条件表达式都是false,则执行else后的语句

关于新接触的if else有了一些了解就来看switch case语句。
switch case 属于一种较为特殊的多分支语句,通过表达式的值判断执行的语句。大致代码如下:

    switch(变量){

            case 表达式1:

                执行语句1;

                break;

            case 表达式2:

                执行语句2;

                break;

            case 表达式3:

                执行语句3;

                break;

            ……

            default:

                执行语句n;

    }

switch 语句用于基于不同条件执行不同动作。
switch后面的括号在本案例是需要判断的变量,当然在括号里也可以写运算语句,这样switch语句就会先计算,后面的大括号里是具体的判断与执行代码,把计算出的值与各个case的值依次对比,根据值是否一样执行对应代码,注意switch对比值是将类型和值同时对比的,也就是说,整数型的1与字符型的"1"是不一样的,不要搞混了。
另外就是break

  • 如果js脚本代码遇到 break 关键词,它会跳出 switch 代码块。

  • 此举将停止代码块中更多代码的执行以及 case 测试。

  • 如果找到匹配,并完成任务,则随机中断执行(break)。无需更多测试。

  • break 能够节省大量执行时间,因为它会“忽略” switch 代码块中的其他代码的执行。

  • 不必中断 switch 代码块中的最后一个 case。代码块在此处会自然结束。

default
default 关键词规定不存在 case 匹配时所运行的代码。
就是switch计算出的值在case里找不到一个对应的值就执行default(默认)代码语句,当然要注意default后面是冒号,第一次时我下意识输成分号导致运行错误,于是我将default删除,在输入的值能够在case里找到时还是能够运行的。输入其他值就会报错了。当然default的位置在哪里都可以这个没有什么讲究。一般是把default语句放最后或最前。不过放在哪里都别忘了break,这个比较重要,default放最前的时候没有他就有玩的了。
另外case语句不止一个case一个值,还可以几个case一个值,
案例代码如下:

switch (new Date().getDay()) {
    case 4:
    case 5:
        text = "周末快到了:)";
        break; 
    case 0:
    case 6:
        text = "今天是周末~";
         break;
    default: 
        text = "期待周末!";
} 

若是要用同一个值,将中间内容删除共用一个就行,当然break不能少。如果default在最后我还是建议加上break的,加上没什么坏处,不加也能运行,主要能养成一个下意识的好习惯,看得出来上面的案例没加。
还有case语句也能判断区间,一般简单的数学运算我想都没什么问题,代码展示如下:

    <script type="text/javascript">

        var num=prompt("请输入一个0-255的数字:","");

        switch (true){

            case num<0:

                console.log("您输入的数字小于了0");

                break;

            case num>=0 && num<=255:

                console.log("您输入的数字在0-255之间");

                break;

            case num>255: 

                console.log("您输入的数字大于255")

                break;

           default:

                console.log("您输入了一个无效数字");  

                break; 

            }

    </script>

为什么用console.log而不是alert,我找到一段话大家可以参考参考:
alert()函数会阻断JavaScript程序的执行,从而造成副作用;
alert只能输出字符串,不能输出对象里面的结构,
alert弹出框需要点击确认比较麻烦,而console.log()仅在控制台中打印相关信息,因此不会造成类似的顾虑。console.log()console.log()可以接受任何字符串、数字和JavaScript对象,可以看到清楚的对象属性结构,在ajax返回json数组对象时调试很方便。

小链接1
小链接2

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值