1. 表达式与语句
表达式
1 + 2表达式的值为3add(1, 2)表达式的值为函数的返回值console.log表达式的值为函数本身console.log(3)表达式的值为undefined
语句
var a = 1是一个语句
两者的区别
- 表达式一般都有值,语句可能有也有可能没有
- 语句一般会改变环境(声明、赋值) 上面两句话并不是绝对的
大小写敏感
var a和var A是不同的object和Object是不同的function和Function是不同的
空格
- 大部分空格没有实际意义
只有在
return后面不能加回车,JS会自动补一个undefined
2. 标识符
命名规则
- 第一个字符,可以是
Unicode字母或$或_或中文 - 后面的字符,除了上面所说,还可以有数字
变量名是标识符
var _ = 1var $ = 2var __ = 6var 你好 = 'hi'
还有其他标识符
3. if else 语句
语法
最推荐使用的写法:
if(表达式){
语句
} else if (表达式) {
语句
} else {
语句
}
次推荐使用的写法:
function fn(){
if (表达式){
return 表达式
}
if (表达式) {
return 表达式
}
return 表达式
}
- {}在语句只有一句的时候可以省略
4. switch 语句
语法
switch (fruit) {
case "banana":
// ...
break;
case "apple":
// ...
break;
default:
// ...
}
5. 问号冒号表达式
表达式1?表达式2:表达式3
6. while 循环
语法
while (表达式) {语句}
// 判断表达式的真假
// 当表达式为真,执行语句,执行完再判断表达式的真假
// 当表达式为假,执行后面的语句
7. for 循环
语法
for (语句1;表达式2;语句3) {
}
// 先执行语句1
// 然后判断表达式2
// 如果为真,执行循环体,然后执行语句3
// 如果为假,直接退出循环,执行后面的语句
8. break 和 continue
- break:退出所有循环
- continue:退出当前一次循环 如果存在多重循环,不带参数的break语句和continue语句都只针对最内层循环。
9. label 语句
语法
foo: {
console.log(1);
break foo;
console.log('本行不会输出');
}
console.log(2);
{
foo: 1
}
foo是一个label,语句是1