learun开发社区 - 力软.net/java快速开发平台官方论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1338|回复: 3

好程序员Web前端分享程序的三大结构(一)

  [复制链接]

4

主题

15

帖子

69

积分

注册会员

Rank: 2

积分
69
发表于 2019-5-23 10:32:13 | 显示全部楼层 |阅读模式

程序的三大结构:

  • 顺序结构

  • 选择结构

  • 循环结构

if(){}判断语句



if(true){


      //执行该语句   


}


if(false){


      //跳过该语句   


}


if(ture){ //当if括号中结果为true时执行语句1,否则执行语句2


     //语句1


}else{


     //语句2

}


if()括号中的东西我们通常叫它逻辑点。


一个奇葩问题


if(//在这个括号里会发生各种各样奇奇怪怪的事情)


if(1){


     alert('看我弹出来给你看')


}


感觉怪怪的:


1.if括号里填什么来着???


2.1是true么?


为什么会发生这样的事情那?在一些特定情况下,计算机会进行隐式类型转换。他和强制类型转换(Number)不一样,他不需要你做些什么,会自动对数据类型进行转换。


在 运算中,和if(括号中),会发生隐式类型转换。


1.运算中的隐式类型转换:


var a='1' ,b=2;


a+b=???


+运算符有两种含义,第一层含义是数学中的+运算,第二层含义是字符串拼接,优先运算字符串拼接,所以在检测到加好左右两边存在字符串的时候,会将运算符左右两边的数字都转换成字符串再进行运算。


a-b=???


除了+运算符具有两层含义以外,- * /只有数学意义,所以当进行- * /运算的时候默认会将运算符两侧的数据类型隐式转换为数字类型,再进行运算。


2.if(括号中的)隐式类型转换。


我们都知道,if括号中只需要布尔类型值。那么在if判断中,所有的数据类型都会被隐式转换为布尔类型。


if(非零数字都被转换成ture、非空字符串都转换成true),存在两条基础规则,其余规则在今后学习中慢慢发掘。



alert(1==true);//true



switch();


switch(语句){

    case 0:alert(1);

    break;

    case 2:alert(2);

    case 3:alert(3);     

    default:alert(10)

}


案例:成绩判定。

<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="utf-8">

</head>

<body>

</body>

<script>

var achievement = 30; //成绩;

var passNum = 60; //及格分数线;

if (achievement >= passNum) {

alert('成绩合格')

} else {

alert('成绩不合格')

}

</script>

</html>

案例:显示星期几。

<!DOCTYPE html>

<html lang="en">

    <head>

        <meta charset="utf-8">

        <script>

        //假设每个月的第一天是星期一,写一个程序算出当月日期是星期几;

        var day=33;//几号

        if(day>=31||day<=0){

            alert('星期八')

        }else{

            var nDsay=day%7;

            switch(nDsay){

                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 0:alert('周末了好好嗨皮一下吧');

                break;

                default:alert('不可能弹出来');

            }

        }

        </script>

    </head>

    <body>

    </body>

</html>

注意switch的应用场景(有多个确定值需要判断的时候);


注意case穿透,要加break语句(如果程序没有发现break语句,那么解析器会继续向下解析);


回复

使用道具 举报

0

主题

5

帖子

108

积分

注册会员

Rank: 2

积分
108
发表于 2019-5-24 11:21:27 | 显示全部楼层
回复

使用道具 举报

0

主题

8

帖子

120

积分

注册会员

Rank: 2

积分
120
发表于 2019-5-26 11:02:23 | 显示全部楼层
打个卡
回复

使用道具 举报

0

主题

1

帖子

4

积分

新手上路

Rank: 1

积分
4
发表于 2021-7-22 09:24:20 | 显示全部楼层
66666,配图很有意思
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|learun开发社区 - 力软.net/java快速开发平台官方论坛 ( 沪ICP备14034717号 )

GMT+8, 2021-10-19 23:04 , Processed in 0.153820 second(s), 19 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表