什么是表达式和语句
- 表达式:是由运算元和运算符(可选)构成,并产生运算结果的语法结构。例如:
1+2 // 表达式的值为3;
add(1,2) //表达式的值是函数的返回值
console.log //表达式的值为函数本身
- 语句:JavaScript代码由语句构成,表明了执行过程的流程、限定和约定,形式上可以是单行语句,也可以是由大括号括起来的复合语句。语句由分号来分隔。语句是“使某事发生”的指令,不存在返回值一说。比如
var a = 1 + 3
就是一行赋值语句。
区别
- 语句主要为了进行某种操作,一般情况下不需要返回值
- 表达式则是为了得到返回值,一定会返回一个值
- 凡是 JavaScript 语言中预期为值的地方,都可以使用表达式。比如,赋值语句的等号右边,预期是一个值,因此可以放置各种表达式。
标识符的规则
在应用程序中,使用变量来作为值的符号名。变量的名字又叫做标识符,其需要遵守一定的规则。
- 必须以字母、下划线(_)或者美元符号($)开头
- 后续的字符也可以是数字(0-9)。
- 因为 JavaScript 语言是区分大小写的,所以字母可以是从“A”到“Z”的大写字母和从“a”到“z”的小写字母。
- 可以使用大部分 ISO 8859-1 或 Unicode 编码的字符作标识符,例如 å 和 ü。你也可以使用 Unicode 转义字符 作标识符。
合法的标识符示例:Number_hits,temp99,$credit 和 _name。
if else 语句
if
结构先判断括号里表达式的布尔值,然后根据布尔值的真伪,执行不同的语句。所谓布尔值,指的是 JavaScript 的两个特殊值,true
表示真,false
表示伪。
if (表达式) {
语句 // 满足条件时,执行的语句
} else{
语句 // 不满足条件时,执行的语句
}
短路逻辑
A && B && C && D
取第一个假值或D
A || B || C || D
取第一个真值或D
问号冒号表达式
表达式1 ? 表达式2 : 表达式3 比如a>b ? a : b
这个代码的意思为:
if ( a > b ) {
a
}else{
b
}
循环语句
while 循环
While
语句包括一个循环条件和一段代码块,只要条件为真,就不断循环执行代码块。例如:
var i = 0;
while (i < 100) { //条件
console.log('i 当前为:' + i); //语句
i = i + 1;
}
for 循环
for
语句是循环命令的另一种形式,可以指定循环的起点、终点和终止条件。格式如下。
var x = 3;
for (var i = 0; i < x; i++) {
console.log(i);
}
// 输出结果
// 0
// 1
// 2
for语句后面的括号里面,有三个表达式。
- 初始化表达式:确定循环变量的初始值,只在循环开始时执行一次。
- 条件表达式:每轮循环开始时,都要执行这个条件表达式,只有值为真,才继续进行循环。
- 递增表达式:每轮循环的最后一个操作,通常用来递增循环变量。
for
循环执行顺序是,先执行初始化表达式(只执行一次)> 条件表达式 > 语句 > 递增表达式 > 条件表达式...
break continue
break
语句和continue
语句都具有跳转作用,可以让代码不按既有的顺序执行。
break
语句用于跳出代码块或循环。 例如:
var i = 0;
while(i < 10) {
console.log('i 当前为:' + i);
i++;
if (i === 5) break; // i等于5,跳出循环。
}
continue
语句用于立即终止本轮循环,返回循环结构的头部,开始下一轮循环。
var i = 0;
while (i < 10){
i++;
if (i % 2 === 0) continue; // 如果i为偶数,则跳过本轮,直接进入下一轮循环。
console.log('i 当前为:' + i`);`
}
label
语句的前面有标签(label),相当于定位符,用于跳转到程序的任意位置,标签的格式如下。
label: {
var a = 1
}
标签可以是任意的标识符,但不能是保留字,语句部分可以是任意语句。标签与break语句和continue语句配合使用,可以跳出特定的循环。