Javascript核心读书有感之语句(4)


            if (expression)
                statement1
            else
                statement2

例如以下代码

复制代码 代码如下:


            if (n == 1)
                console.log("1 new message");
            else
                console.log("you have" + n + "new message");

当if/else语句中,嵌套使用if语句时,必须注意确保else语句匹配正确的if语句。考虑如下代码:

复制代码 代码如下:


            i = j = 1;
            k = 2;
            if (i == j)
                if (j == k)
                   console.log("i equs k");
            else
                console.log("i dosent equal j"); //错误!!

这个实例中,内层的if语句构成了外层if语句所需要的子句。但是,if和else的匹配关系不清晰(只有缩进给了一点暗示)而且在这个例子里,缩进给出的暗示是错误的,因为javascript解释器是这么理解的。

复制代码 代码如下:


            if (i == j) {
                if (j == k)
                    console.log("i equs k");
                else
                    console.log("i dosent equal j");
            }

和大多编程语言一样,javascript中的if、else匹配规则是,else总是和就近的if语句匹配,为了让个例子的可读性更强,更容易理解,更方便维护和调试,应当使用花括号

复制代码 代码如下:


            if (i == j) {
                if (j == k) {
                    console.log("i equs k");
                } else { //花括号使代码的结果更清晰
                    console.log("i dosent equal j");
                }
            }

许多程序员都将有if和else语句主体用花括号括起来的习惯(就像类似while循环这样的符合语句中一样),即使每条分支只有一条语句,但这样做能避免刚才的程序歧义问题。

ii.else if

if/else语句通过判断一个表达式的计算结果来选择两条分支中的一条。当代码中有许多条分支的时候应该怎么办呢?一种解决的办法是使用else if语句。else if并不是真正的javascript语句,它只不过是多条if / else语句连接在一起的写法。

复制代码 代码如下:


            if (n == 1) {
                //执行代码块 1
            } else if (n == 2) {
                //执行代码块2
            } else if (n == 3) {
                //执行代码块3
            } else {
                //之前的条件都为false,则执行代码块4
            }

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wgffjf.html