稻米鼠 · 更新于 2018-11-28 11:00:43

第五十一章 朕宣你!

首先是一个很郑重地补充:由衷感谢站酷酷友 @璇也 的指正。

事情很简单,在 JS 里面对于变量真的要求宽泛,像我这种懒人每每都是拿起来就用,然后出问题了才去严格一下他的格式之类。好在我一直写的都是一些简短的小功能,所以就算有性能上的问题,在现在电脑硬件这么强悍的前提下也几乎与我无关。于是……我忘记告诉大家声明变量的事情了。

这是一个很简单的概念,你开始一个工作,要先确定一下员工,点个名,这样大家就知道这些人跟着你干了,然后你再分配他们任务。那么点名这个事情什么时候去做呢?就是你在用这个员工之前点一次就好,整个工程他就都知道跟着你干了。那么怎么声明呢?我写个例子:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>声明变量</title>
    <script>
        /* 声明一个变量 a */
        var a;
        /* 声明两个变量,b 和 c,当然你可以同时声明更多,记得逗号分隔就行 */
        var b,c;
        /* 声明一个变量 d,同时给他赋值 12 */
        var d = 12;
        /* 声明之后你就可以随心所欲地去使用变量了,跟我们前边就没区别了 */
        a = 6;
        b = 3;
        c = 9;
        alert(a+b+c+d);
    </script>
</head>
<body>

</body>
</html>

那么我忘记说了好像也是有好处的,放在现在讲就很容易理解了。你说你不理解?别砸场子好不好,看我后面的案例怎么写的就慢慢理解了,乖,相信我,我是最帅的~


然后是这一章的正文,看标题,看标题,是不是很诱惑?尤其是我还这么帅……

好啦好啦,不与众爱妃说笑了,朕可要说正事了!

上一章我们说了 if……else…… 语句,就是如果符合条件就怎样,不符合条件又怎样。简单吧,但是呢?非黑即白的判断是不是有点 too simple?这个世界要是果然如此单纯就好了啊!然而经常地我们要面对着更加复杂的选择:如果你考试成绩低于 60 分,你就是个坏学生;如果你的成绩介于 60 分和 80 分之间,你就是个后进生;你的成绩介于 80 分到 95 分之间,你是好学生,你的成绩要是介于 95 到 100 分,那毫无疑问,你是优等生。这个游戏从小学开始老师和家长就每天跟我们玩,大家都很熟悉吧?来看看我怎么用程序表达:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>选择语句的实例</title>
    <script>
        /* 在案例开始之前,我先说一下注释。
        这是 JS 的多行注释的写法,其实 CSS 里面注释也是这么写的。
        我记不太清我说过没有,但我一定告诉过你,注释不起任何作用,只是为了让我们方便理解,给自己提醒用的。
        那么现在这个注释既然是多行注释,这里面的内容是可以分成几行的 */
        // 这里是 JS 的单行注释,只能写一行
        var a = 98;
        if(a<60){
            alert("你是坏学生~~~")
        }else if(a>=60 && a<80){
            alert("你是后进生~~~")
        }else if(a>=80 && a<95){
            alert("你是好学生~~~")
        }else if(a>=95 && a<=100){
            alert("你是优等生~~~")
        }else if(a>100){
            alert("你是小骗子~~~")
        }
    </script>
</head>
<body>

</body>
</html>

那么开始解释,首先说一下 && 符号表示的是 and 的意思,这个我们在前边提到过类似的概念,表示两个条件同时成立才算达成条件。如果你回想起来了初中的那点为数不多的逻辑判断知识就很好理解了。and,就是谁和谁,并肩走,不抛弃不放弃,所以两个条件都是真才算条件成立,有一个为假都不行。

引申出来的 || 符号表示 or 的意思,就是或,你或我,只要有一个人去关灯屋里就黑了……额?!好像说错了,当然要是哥俩好,一起去关灯,屋里也黑了……我说不下去了。就是说两个条件有一个为真就算条件达成,当然两个都为真自然也是达成了。

那么顺便把 ! 说一下,这个是 not,就是否定啊,你说真我就说假。如果结果为真,加上他就是结果为假了。先了解,以后慢慢实践。

回来继续研究我们的逻辑判断,其实跟上节课差不多,都是用 if 进行判断,只是这次连起来了,如果条件成立,那么执行大括号里的语句,否则(else)交给后面的 if 语句继续处理。那么可以看出的一点就是:如果前面已经遇到可以成立的条件,执行了相应的语句之后,后面的那些 if 就不会被判断执行了。认真思考一下这个逻辑顺序。

你不理解我就给你打个比方,我现在是皇上,夜郎国的九五至尊,今晚要睡觉,所以得选个妃子侍寝,但是呢?天天这样的日子,无聊啊,就想了个游戏。我拿了个纸条,上面写上今天要临幸的妃子的名字(就好象上面的 var a = 98;)。然后让妃子们站成一排,从头向尾传纸条,每个妃子拿到纸条要看一眼,如果是自己的名字,那就站出来,否则,把纸条传给下一位。这个游戏都会玩吧?你看,爱妃们的领悟能力都很好嘛~那要是站在第三位的妃子被选中了,她还需要后面的否则吗?当然不用了,所以后面的妃子都没看到纸条,也不用去判断纸条上写的是不是自己了。

那么,爱妃~今夜,朕宣你!

明晚再给大家讲解王公公每次要朕翻牌子的时候都是怎么判断的。

本章代码下载:本章代码


上一章 - 目录 - 下一章


本书是收费的,不过交费凭自觉。价格定义为每人请我喝一杯咖啡(哪种品质的咖啡随意),支付宝账号:

alay9999@163.com (刘源)

为了让大家阅读方便,本书将在如下站点发布,但最终内容以主站为准:

未经本人许可,禁止任何形式转载。相关事宜请联系: dms@zji.me