持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第5天,点击查看活动详情
什么是表达式和语句
表达式
1+2表达式的值是3
add(1,2)表达式的值为函数的返回值
//值和返回值并不是同一个东西,只有函数才会有返回值。
console.log表达式的值为函数本身
语句
let a = 1 是一个语句
两者的区别
表达式一般都有值,语句可能有也可能没有。
语句一般会改变环境(声明、赋值)。
// 上面两句话并不绝对。
标识符
规则
- 第一个字符,必须是Unicode字母或者$或_或中文。
- 第一位不能是数字。
例:
var a = 1;
var $ = 1;
var ___ = 1;
var 壹 = 1;
var a1 = 1 ;
if语句
语法
if(表达式){
语句一
}else{
语句二
}
- {}在语句只有一句的时候可以省略,但是不建议这么做。
注意事项
- 表达式内注意表达式的规范,例如:a = 1 与 a === 1 的区别。
- if语句内可以嵌套if语句。
- 缩进有时候会挖坑,譬如经常见的面试题:
a=1;
if(a===2)
console.log('a');
console.log('a等于2');
请问输出什么?
输出a等于2,因为if语句只能省略一句话的语句块{},只有
console.log('a');在if循环之中, console.log('a等于2');不在循环之中。推荐的写法:
if(表达式){
语句
} else if(表达式){
语句
}else {
语句
}
次推荐写法,一般只在函数中使用
function fn(){
if(表达式){
return 表达式
}
if(表达式){
return 表达式
}
retur 表达式
}
Switch语句
语法
switc (表达式){
case "第一种":
语句
break;
case "第二种":
语句
break;
default:
语句
}
注意事项
- 注意不要忘记省略
break;
三原表达式-问号冒号表达式
表达式1?表达式2:表达式3;
function max(a,b){
return a>b? a:b;
}
判断a是否大于b,true返回a,false返回b。
&&短路逻辑
A && B && C && D
A 是假则取 A,B是假则取 B(前提A为真),C 是假则取 C(前提A B为真),都是真则取D.
前面为真,则继续看后面,前面为假,直接接返回值。
&&短路逻辑
A || B || C || D
A 是真则取 A,B是真则取 B(前提A为假),C 是真则取 C(前提AB为假),都是假则取D.
While语句
语法
while(表达式){语句}
判断表达式的真假,当表达式为真,则执行语句,然后再次判断,当表达式为假,则执行下面的语句。
for语句
for(语句1;表达式2;语句3){
循环体
}
先执行语句1,然后再判断表达式2,判断为真,执行循环体,然后执行语句3,如果为假,直接退出循环,执行后面的语句。
break continue
break
- 直接跳出循环,后面的不再执行。
- break 跳出距离自己最近的for循环。 continue
- 跳出当前循环,但是并不跳出for循环,但后面的还会执行。
label语句
语法
foo:{
console.log(1);
break foo;
console.log("本行不会输出");
}
console.log(2);
foo就是一个标签。标签内容为{}内的内容