主要总结:

  • 一个脚本就是一个语句序列,其中每条语句都会生成某一操作。JavaScript语句包含:声明语句、表达式语句、条件语句、循环语句和中断语句

  • 我们可以将表达式的求值结果存储在变量中,在将来提取它们。变量在使用之前应当声明。如果声明中没有指定初始值,则该变量的初始值为undefined

  • 条件代码通常用if语句、switch语句、?:运算符和短路运算符编写。但是,程序员也可以使用词典来代替条件代码的一些初级使用。

  • while语句在循环的顶端有一个检测,它的循环体可能一次都不会执行。do-while语句的检测在其末端,因此其循环体至少运行一次

  • JavaScript引擎在遇到它不能执行的语句或者不能求值的表达式时,会抛出异常。程序员可以用throw语句显式抛出异常。异常用try-catach语句捕获

  • 代码块是放在大括号中的语句序列,可以单作单个语句使用。if语句和迭代语句的主体中使用代码块来表示操作,被认为是一种很好的编程实践

  • JavaScript将在它认为你遗漏了分号的地方插入分号。程序员需要保护自己:总是明确使用分号来终结声明、Expression、do-while、throw、return、break、continue语句。


章节练习

以下脚本会显示什么?请解释?

        s = "Kunjalo";
        s.toUpperCase();
        alert(s)

全局变量保存了一个字符串"Kunjalo",对字符串调用toUpperCase方法,但是由于此方法不会改变原字符串,所以调用变量s显示依旧是"Kunjalo"


以下表达式表示什么?

Math.random() < 0.75 ? "heads":"Tails"

Math.random方法生成一个0(包含本身)到1(不包含本身)的随机数,判定生成数是否小于0.75,是,生成字符串"heads",否,生成字符串"Tails"


到目前为止,检查数字n是不是整数就是对表达式n%1===0求值。还有别的方法吗?

        // 检查n是否为整数的两种方法
        n % 1 === 0                    
        Math.floor(n) === Math.ceil(n)

这两种方法都可行,第二种方法使用取最小整数和最大整数之间做比较,如果不为整数自然结果为false。


表达式x < y ? x : y适合做什么?

        var a = x < y ? x : y;
        // x < y:则 a = x
        // x < y:则 a = y
        // x === y:则 a = x

作甚我也不知啊


解释以下两个表达式

这里我出现了一个自己想不通的问题,已经提问,待更。

        var notice = "she is "+false? "?":"nt"+" here."

修改给汽车喷漆的示例,如果你有一种喜爱的颜色,就将汽车喷为该颜色;如果没有喜爱的颜色,就将汽车喷为车库的颜色(如果知道该颜色的话);否则,将其喷为红色。

        var likeColor = prompt("Enter your favorite color");
        var garageColor = prompt("Enter your garage color");
        var car = new Object();
        car.color = likeColor || garageColor || "red";
        alert(car.color);

熟练比较运算里的短路运算,掌握其含义



Queen
139 声望20 粉丝