JS基本语法

279 阅读2分钟

表达式和语句

在编程语言中,表达式(expression)和语句(statements)是并没有被严格的定义的两个概念,我看过很多人的说法,基本上都不一致。

假设我们有一行代码: var a = 1 , 我们应该如何去判断它是一个表达式还是语句呢?

目前看到的比较靠谱的答案是这样说的:

区分一行代码是表达式还是语句,主要在于这行代码有没有“副作用”(side effects),如果有副作用,那么这行代码就应该被称为语句。

所谓的副作用,指的是永久的改变了程序的状态,例如修改了一个全局变量或者是改变了缓存栈(buffer stack)。

而表达式通常没有副作用,并且会产生一个值。 例如:add(1, 2) , 他会返回1和2的和作为它的返回值。

标识符

标识符最常用的场合是变量的命名,标识符同时存在一些规则:

  • 第一个字符只能是Unicode字符或者$或者_(下划线)或者中文
  • 后面可以跟数字 例如:
  • var a = 1
  • var $1 = 1
  • var _hello = 1
  • var 你好 = 1

if else 语句

常用法:


if ( 条件1 ) {
	console.log("first") // 条件1为真,则执行此行代码
} else if ( 条件2 ){
	console.log("second") // 若条件1不满足,但条件2满足,则执行此行代码
} else {
	console.log("else") // 若条件1, 2都不满足,则执行此行代码
}

while for 语句

while 语法:


while ( 表达式 ) { 
...  // 代码
...  // 代码
}

当表达式为真时,执行条件体内的代码,直到表达式求值为假。例如

var a = 0
while ( a < 5 ) {
	console.log(a);
    a++;
}

输出结果为:

for 语法

for (语句1; 表达式2; 语句3) {
... // 代码
}

for 语句是实现循环的另外一种写法,执行过程为

  1. 先执行语句1

  2. 然后判断表达式2

    (1). 若为真,则执行循环体内的内容, 然后执行语句3

    (2). 若为假,则直接退出循环

break 和 continue

直接举例子:

break

从图中可以看到, break 可以退出循环, 但是需要注意,break 只能退出一层循环。

continue

由上图可以看到 continuebreak 的不同之处在于:break 跳出了整个循环,而continue只有在满足条件的情况下中断了代码执行,然后又开始执行下一次循环

label

语法:

foo: {
console.log(1);
}
{
	foo: 1;
}

其中foo就是标签, 后面的东西,就是标签的内容。和C语言中的 goto语句一样,没什么人用。