JavaScript 中的表达式和语句

146 阅读3分钟

1. 什么是表达式和语句

JavaScript 中表达式和语句的主要区别在于一条语句执行一个动作,一个表达式产生一个值。意思是一个表达式执行后一定会生成一个值,而语句不一定会产生值。语句主要是用来执行动作,程序就是由一系列语句组成。

例如:

// 表达式
name
1 + x
getNames()

// 语句
var name = ‘yu’;
function getNames() {}
var foo = getNames() {};

如何区分表达式和语句呢?

1.看是否产生值判断,对表达式求值一定会返回值,对语句求值未可能有返回值也可能没有返回值; 2.看后面是否有分号,有分号的一定是语句,没有分号的可能是表达式也可能是语句。

2.标识符的规则

所谓标识符,就是变量、函数、属性或函数参数的名称。 标识符可以由一或多个下列字符组成: 第一个字符必须是一个字母、下划线(_)或美元符号($); 剩下的其他字符可以是字母、下划线、美元符号或数字。 标识符中的字母可以是扩展 ASCII(Extended ASCII)中的字母,也可以是 Unicode 的字母字符, 如 À 和 Æ(但不推荐使用)。 按照惯例,ECMAScript 标识符使用驼峰大小写形式,即第一个单词的首字母小写,后面每个单词 的首字母大写,如:

firstSecond myCar doSomethingImportant

虽然这种写法并不是强制性的,但因为这种形式跟 ECMAScript 内置函数和对象的命名方式一致, 所以算是最佳实践。

注意 关键字、保留字、true、false 和 null 不能作为标识符。

if else 语句

If 语句是我们使用最频繁的语句之一,语法如下

if(任何表达式) 执行语句1 else 执行语句2

这里的条件可以是任何表达式,并且求值结果不一定是布尔值. js会自动调用Boolean() 函数将这个表达式的值转换为布尔值.如果条件求值为true,则执行语句1,如果条件求值为false,则执行语句2. 

while 语句

While语句是一种先测试循环语句,即先检测退出条件,在执行循环体内的代码.因此,while循环内的代码有可能不会执行.下面是while循环的语法:

while (表达式) 执行语句

列子:

let i = 0;
while (i<10){
	i= i+1
}

在段代码中,变量i从0开始,每次循环递增1. 只要i小于10,循环就会继续

for 语句

for 语句也是先测试语句,只不过增加了进入循环之前的初始化代码,以及循环执行后要执行的表达式,语法如下:

for(初始化变量;表达式;后循环表达式) 执行语句
下面是一个用例:
let count = 10;

for (let i = 0; i < count; i++) {
console.log(i);
}

以上代码在循环开始前定义了变量 i 的初始值为 0。然后求值条件表达式,如果求值结果为 true (i < count),则执行循环体。因此循环体也可能不会被执行。如果循环体被执行了,则循环后表达式 也会执行,以便递增变量 i。

break 和 continue 语句

break 语句用于立即退 出循环,强制执行循环后的下一条语句。而 continue 语句也用于立即退出循环,但会再次从循环顶部 开始执行。 标签语句用于给语句加标签,语法如下:

标签语句:label

标签语句用于给语句加标签,语法如下: label: statement 下面是一个例子:

start: for (let i = 0; i < count; i++) {
console.log(i);
}

在这个例子中,start 是一个标签,可以在后面通过 break 或 continue 语句引用。标签语句的 典型应用场景是嵌套循环。