一、基本语法

1. 先声明,再赋值

  1. var a = 1 + 3;
  • 上面代码的意思是,声明了变量 a,并把表达式 1+3 的结果赋值给 a
  • 语句以分号结尾,一个分号就表示一个语句结束

**

2. 变量提升

  1. console.log(a);
  2. var a = 1;
  3. // 真正运行的是下面代码
  4. var a;
  5. console.log(a); // 得到结果 undefined
  6. a = 1;

3. 合法标识符

  1. // 中文名也是合法的
  2. arg0
  3. _tmp
  4. $elem
  5. π
  6. var 临时变量 = 1;

4. 条件语句

  1. // if 结构
  2. if (m === 0) {
  3. // ...
  4. } else if (m === 1) {
  5. // ...
  6. } else if (m === 2) {
  7. // ...
  8. } else {
  9. // ...
  10. }
  11. // switch 结构,采用的严格相等运算符(===),1 不等于 true
  12. //每个 case 后必须有 break
  13. // switch语句部分和case语句部分,都可以使用表达式
  14. switch (fruit) { // switch (1+3) {
  15. case "banana": // case 2+2:
  16. // ...
  17. break;
  18. case "apple":
  19. // ...
  20. break;
  21. default:
  22. // ...
  23. }
  24. // 三元运算符
  25. (条件) ? 表达式1 : 表达式2
  26. var even = (n % 2 === 0) ? true : false;

5. 循环语句

  1. // while 循环
  2. var i = 0;
  3. while (i < 100) {
  4. console.log('i 当前为:' + i);
  5. i = i + 1;
  6. }
  7. // for 循环
  8. // 所有for循环,都可以改写成while循环
  9. var x = 3;
  10. for (var i = 0; i < x; i++) {
  11. console.log(i);
  12. }
  13. // do while 循环
  14. // while语句后面的分号注意不要省略
  15. var x = 3;
  16. var i = 0;
  17. do {
  18. console.log(i);
  19. i++;
  20. } while(i < x);

6. break 语句和 continue 语句

  1. // break语句用于跳出代码块或循环
  2. for (var i = 0; i < 5; i++) {
  3. console.log(i);
  4. if (i === 3)
  5. break;
  6. }
  7. // continue语句用于立即终止本轮循环,返回循环结构的头部,开始下一轮循环
  8. var i = 0;
  9. while (i < 100){
  10. i++;
  11. if (i % 2 === 0) continue;
  12. console.log('i 当前为:' + i);
  13. }

7. 标签(label)

  • 标签通常与break语句和continue语句配合使用,跳出特定的循环 ```javascript // 满足条件时,直接跳出双层循环 top: for (var i = 0; i < 3; i++){ for (var j = 0; j < 3; j++){
    1. if (i === 1 && j === 1) break top;
    2. console.log('i=' + i + ', j=' + j);
    } }

// 执行到break foo,就会跳出区块 foo: { console.log(1); break foo; console.log(‘本行不会输出’); } console.log(2);

// 满足条件时,会跳过当前循环,直接进入下一轮外层循环 top: for (var i = 0; i < 3; i++){ for (var j = 0; j < 3; j++){ if (i === 1 && j === 1) continue top; console.log(‘i=’ + i + ‘, j=’ + j); } } ```

「@浪里淘沙的小法师」