表达式与语句
表达式
表达式是由运算元和运算符(可选)构成,并产生运算结果的语法结构
- 1 + 2的表达式的值是为3
- add(1,2)表达式值为函数返回值
- console.log表达式返回的值为函数本身
语句
由一个或多个关键字和表达式构成
- var a = 1 是一个语句
二者的区别
- 表达式一般都有值,语句可能有也可能没有
- 语句一般会改变环境(声明,赋值)
- 上面两句话并不是绝对的
标识符
是用来识别具体对象的一个名称
规则
- 可以是
Unicode
字母,$
,数字,_
和中文 - 数字不能作为标识符的首个字符
变量名是标识符
- var _ = 1
- var $ = 2
- var ___ = 6
注释
不好的注释
- 把代码翻译为中文
- 过时的注释
- 发泄不满的注释
好的注释
- 踩坑注释
- 遇到的问题,解决的方法
if语句
语法
if(表达式){
语句1
}else{
语句2
}
在{}中只有一句语句的时候可以省略,但不建议省略
变态情况
- 表达式里可以非常变态,如
a = 1
- 语句1和语句2里可以非常变态,如嵌套
if else
缩进可以非常变态,如下
a = 1 if(a === 2) console.log('a') // 没有执行 console.log('a等于2') // a等于2
switch 语句
语法
switch(day){
case 1:
console.log('今天星期一');
break;
case 2:
console.log('今天星期二');
break;
case 3:
console.log('今天星期三');
break;
case 4:
console.log('今天星期四');
break;
case 5:
console.log('今天星期五');
break;
case 6:
console.log('今天星期六');
break;
default:
console.log('今天星期天');
}
注意:break
大部分时候不能省略
问号冒号表达式
当if else
只有语句1和语句2都只有一句的时候,可以用该表达式代替
表达式1?表达式2:表达式3
短路逻辑
&& 短路逻辑
A && B && C && D
取第一个假值或者D,并不会取true
或者false
|| 短路逻辑
A || B || C || D
取第一个真值或者D,并不会取true
或者false
while 语句
语法
while(表达式){
语句
}
- 判断表达式的真假
- 如果表达式为真,执行语句,执行完再次判断表达式真假;如果表达式为假,执行后面的语句
for 语句
语法糖
for
循环是 while
循环的方便写法
语法
for(语句1;表达式2;语句3){
循环体
}
- 先执行语句1
- 判断表达式2
- 如果为真,执行循环体,然后执行语句3;如果为假,则退出循环,执行后面的代码
break 和 continue
break
是退出所有循环continue
是跳过本次循环
label 语句
语法
foo: {
console.log(1);
break;
console.log('本行不会输出');
}
面试考察(5%)
{
foo:1
}
上面并不是一个对象,只是一个label