表达式和语句
表达式
- 1+2表达式的值为3
- add(1,2)表达式的值为函数的返回值
- console.log表达式的值为函数本身
- console.log(3)表达式的值为undefined
语句
var a = 1是一个语句
二者区别
- 表达式一般都有值,语句可能有也可能没有
- 语句一般会改变环境(声明、赋值)
- 上面两句话并不是绝对
大小写敏感
- var a和var A不同
- object和Object不同
- function和Function
空格
大部分空格没有实际意义
- var a=1和var a = 1没区别
- 加回车大部分时候也不影响
- 只有一个地方不能加回车,那就是return后面
标识符
规则
- 第一个字符,可以是Unicode字母或$或_或中文
- 后面的字符,除了上面所说,还可以有数字
if else 语句
语法
if(表达式){语句1}else{语句2}
{}在语句只有一句的时候可以省略
变态情况
- 表达式里可以非常变态,如a=1
- 语句1可以非常变态,如嵌套if else
- 语句2可以非常变态,如嵌套if else
- 缩进也可以很变态,如面试题常下套
a = 1
if(a === 2)
console.log('a')
console.log('a等于2')
最推荐写法
if (表达式) {
语句
} else if (表达式) {
语句
} else {
语句
}
次推荐写法
function fn(){
if (表达式) {
return 表达式
}
if (表达式) {
return 表达式
}
return 表达式
}
switch语句
语法
switch (fruit) {
case "banana":
// ...
break;
case "apple":
// ...
break;
default:
// ... }
break
- 大部分时候,省略break你就完了
- 少部分时候可以利用break
while for 语句
语法
while(表达式){语句}
- 判断表达式的真假
- 当表达式为真,执行语句,执行完再判断表达式的真假
- 当表达式为假,执行后面的语句
for循环
语法
for(语句1;表达式2;语句3){
循环体
}
- 先执行语句1
- 然后判断表达式2
- 如果为真,执行循环体,然后执行语句3
- 如果为假,直接退出循环
break和continue
- break:退出所有循环
- continue退出当前一次循环
label
foo: {
console.log(1);
break foo;
console.log('本行不会输出');
}
console.log(2);
以下是个标签
{
foo: 1
}