什么是表达式和语句
表达式是可以被求值的代码,而语句是一段可执行代码。
因为表达式可被求值,所以它可写在赋值语句等号的右侧。而语句不一定有值,所以像import、for和break等语句就不能被用于赋值。
标识符的规则
- 标识符(identifier)是用来识别具体对象的一个名称。最常见的标识符就是变量名,以及后面要提到的函数名。JavaScript语言的标识符对大小写敏感,所以a和A是两个不同的标识符。
标识符有一套命名规则,不符合规则的就是非法标识符。JavaScript引擎遇到非法标识符,就会报错。简单说,标识符命名规则如下: 第一个字符,可以是任意Unicode字母(包括英文字母和其他语言的字母),以及美元符号($)和下划线(_)。 第二个字符及后面的字符,除了Unicode字母、美元符号和下划线,还可以用数字0-9。 下面这些都是合法的标识符。 arg0 _tmp $elem π 下面这些则是不合法的标识符。 1a // 第一个字符不能是数字 23 // 同上 *** // 标识符不能包含星号 a+b // 标识符不能包含加号 -d // 标识符不能包含减号或连词线 中文是合法的标识符,可以用作变量名。 var 临时变量 = 1; JavaScript有一些保留字,不能用作标识符:arguments、break、case、catch、class、const、continue、debugger、default、delete、do、else、enum、eval、export、extends、false、finally、for、function、if、implements、import、in、instanceof、interface、let、new、null、package、private、protected、public、return、static、super、switch、this、throw、true、try、typeof、var、void、while、with、yield。 另外,还有三个词虽然不是保留字,但是因为具有特别含义,也不应该用作标识符:Infinity、NaN、undefined。
if else 语句
条件语句 通常在写代码时,总是需要为不同的决定来执行不同的动作。可以在代码中使用条件语句来完成该任务。
在 JavaScript 中,我们可使用以下条件语句:
if 语句 - 只有当指定条件为 true 时,使用该语句来执行代码
if...else 语句 - 当条件为 true 时执行代码,当条件为 false 时执行其他代码
if...else if....else 语句 - 使用该语句来选择多个代码块之一来执行
switch 语句 - 使用该语句来选择多个代码块之一来执行
If 语句 只有当指定条件为 true 时,该语句才会执行代码。 语法
if (条件)
{
只有当条件为 true 时执行的代码
}
注意:请使用小写的 if。使用大写字母(IF)会生成 JavaScript 错误!
实例 当时间小于 20:00 时,生成一个“Good day”问候:
if (time<20)
{
x="Good day";
}
x 的结果是:
Good day
请注意,在这个语法中,没有 ..else..。您已经告诉浏览器只有在指定条件为 true 时才执行代码。 If...else 语句
请使用 if....else 语句在条件为 true 时执行代码,在条件为 false 时执行其他代码。 语法
if (条件)
{
当条件为 true 时执行的代码
}
else
{
当条件不为 true 时执行的代码
}
实例 当时间小于 20:00 时,将得到问候 "Good day",否则将得到问候 "Good evening"。
if (time<20)
{
x="Good day";
}
else
{
x="Good evening";
}
while for 语句
while 循环会一直循环代码块,只要指定的条件为 true。 语法
while (条件) {
要执行的代码块
}
实例 在下面的例子中,循环中的代码将运行,一遍又一遍,只要变量(i)小于 10:
while (i < 10) {
text += "数字是 " + i;
i++;
}
如果忘了对条件中使用的变量进行递增,那么循环永不会结束。这会导致浏览器崩溃。
Do/While 循环 do/while 循环是 while 循环的变体。在检查条件是否为真之前,这种循环会执行一次代码块,然后只要条件为真就会重复循环。
语法
do {
要执行的代码块
}
while (条件); 实例 下面的例子使用了 do/while 循环。该循环会执行至少一次,即使条件为 false,因为代码块会在条件测试之前执行:
do {
text += "The number is " + i;
i++;
}
while (i < 10);
不要忘记对条件中所用变量进行递增,否则循环永不会结束! 比较 For 与 While
如果您已经阅读了之前关于循环的章节,您会发现 while 循环与 for 循环相当类似,其中的语句 1 和 语句 2 都可以省略。 本例中的循环使用 for 循环来提取 cars 数组中的汽车品牌: 实例
var cars = ["BMW", "Volvo", "Saab", "Ford"];
var i = 0;
var text = "";
for (;cars[i];) {
text += cars[i] + "<br>";
i++;
}
本例中的循环使用 while 循环来提取 cars 数组中的汽车品牌:
实例
var cars = ["BMW", "Volvo", "Saab", "Ford"];
var i = 0;
var text = "";
while (cars[i]) {
text += cars[i] + "<br>";
i++;
}
break continue
break 语句“跳出”循环。 continue 语句“跳过”循环中的一个迭代。
Break 语句 在本教程稍早的章节中,您已见到了 break 语句。它被用于“跳出” switch 语句。
break 语句也可用于跳出循环。
break 语句会中断循环,并继续执行循环之后的代码(如果有): 实例
for (i = 0; i < 10; i++) {
if (i === 3) { break; }
text += "数字是 " + i + "<br>";
}
Continue 语句 continue 语句中断(循环中)的一个迭代,如果发生指定的条件。然后继续循环中的下一个迭代。
本例跳过值 3 :实例
for (i = 0; i < 10; i++) {
if (i === 3) { continue; }
text += "数字是 " + i + "<br>";
}
label
标记语句可以和 break 或 continue 语句一起使用。标记就是在一条语句前面加个可以引用的标识符(identifier) 语法
foo:{
console.log(1);
break foo;
console.log('本行不会输出');
}console.log(2);
会输出1和2
{
foo:1
}
```
上面代码为标签foo,值为1