表达式与语句
语句(statement)是为了完成某种任务而进行的操作:
var a = 1
表达式(expression)指一个为了得到返回值的计算式:
1+2
add(1,2)
console.log(3)
语句和表达式的区别在于,前者主要为了某种操作,一般情况下不需要返回值;后者则是为了得到一个返回值。
表达式一般都有值,语句可能有也可能没有值;语句一般会改变环境,如声明赋值语句等等;以上两句话并不绝对。
注意,return 后面不能加回车,会自动补充undefined;除此之外 回车和空格无甚影响。
标识符的规则
标识符(identifier)指的是用来识别各种值的合法名称。最常见的标识符就是变量名,以及后面要提到的函数名。JavaScript 语言的标识符对大小写敏感,所以a和A是两个不同的标识符。
标识符命名规则如下。
-
第一个字符,可以是任意 Unicode 字母(包括英文字母和其他语言的字母),以及美元符号(
$)和下划线(_)。 -
第二个字符及后面的字符,除了 Unicode 字母、美元符号和下划线,还可以用数字
0-9
arg0
_tmp
$elem
π
条件语句
if...else结构:
当表达式为真,则执行语句1,当表达式为假,则执行语句2:
if (表达式) {
语句1
} else {
语句2
}
对同一变量进行多次判断时,多个if...else语句可以连在一起。
if (表达式1) {
语句1
} else if (表达式2) {
语句2
} else if (表达式3) {
语句3
} else {
语句4
}
switch 结构
switch (fruit) {
case "banana":
// ...
break;
case "apple":
// ...
break;
default:
// ...
}
上面代码根据变量fruit的值,选择执行相应的case。如果所有case都不符合,则执行最后的default部分。需要注意的是,每个case代码块内部的break语句不能少,否则会接下去执行下一个case代码块,而不是跳出switch结构。
三元运算符
(条件) ? 表达式1 : 表达式2
上面代码中,如果“条件”为true,则返回“表达式1”的值,否则返回“表达式2”的值。
循环语句
循环语句用于重复执行某个操作。
while 语句
while (条件) {
语句1;
}
语句2
当表达式为真,执行语句1,执行完再次判断表达式的真假;否则执行while语句后面的语句2.
for 语句
for语句是循环命令的另一种形式,可以指定循环的起点、终点和终止条件。
for (初始化表达式; 条件; 递增表达式) {
语句
}
for语句后面的括号里面,有三个表达式。
- 初始化表达式(initialize):确定循环变量的初始值,只在循环开始时执行一次。
- 条件表达式(test):每轮循环开始时,都要执行这个条件表达式,只有值为真,才继续进行循环。
- 递增表达式(increment):每轮循环的最后一个操作,通常用来递增循环变量。
省略三部分会导致一个无限循环。
短路逻辑
A&&B&&C&&D 取第一个假值或D ,并不会取 true/ false
A&&B&&C&&D 取第一个真值或D ,并不会取 true/ false
break continue
break 退出所有循环
continue 退出当前循环
label
JavaScript 语言允许,语句的前面有标签(label),相当于定位符,用于跳转到程序的任意位置。
label:
语句
标签可以是任意的标识符,但不能是保留字,语句部分可以是任意语句。
标签通常与break语句和continue语句配合使用,跳出特定的循环。
参考链接:链接