条件语句

if

如果只有一条代码块,可以省略{}
语法:

  1. if (condition)
  2. {
  3. 当条件为 true 时执行的代码
  4. }

示例:

  1. if (3 > 2) {
  2. console.log('true');
  3. }

if/else

语法:

  1. if (condition) {
  2. 当条件为 true 时执行的代码
  3. } else {
  4. 当条件为 flase 时执行的代码
  5. }

示例:

  1. if (3 > 2) {
  2. console.log('true');
  3. } else {
  4. console.log('false');
  5. }

三元运算符

三元运算符也叫三目运算符,起作用就是简化if语句。计算条件结果,如果结果为真,则返回 value1,否则返回 value2。
语法:

  1. condition ? value1 : value2

示例:

  1. let foo = (age > 18) ? true : false;


switch

switch语句有至少一个 case代码块和一个可选的 default代码块。
语法:

  1. switch(x) {
  2. case 'value1': // if (x === 'value1')
  3. ...
  4. [break]
  5. case 'value2': // if (x === 'value2')
  6. ...
  7. [break]
  8. default:
  9. ...
  10. [break]
  11. }

示例:

  1. switch (Math.floor(score / 10)) {
  2. case 0:
  3. case 1:
  4. case 2:
  5. case 3:
  6. case 4:
  7. case 5:
  8. return '不及格';
  9. break;
  10. case 6:
  11. return '及格';
  12. break;
  13. case 7:
  14. return '一般';
  15. break;
  16. case 8:
  17. return '良好';
  18. break;
  19. case 9:
  20. return '优秀';
  21. break;
  22. default:
  23. return '真棒';
  24. break;
  25. }

循环语句

while

当 condition 为真时,执行循环体的代码。至少一次也不执行循环体。
语法:

  1. while (condition) {
  2. // 代码
  3. // 所谓的“循环体”
  4. }

示例:

  1. let i = 0;
  2. while (i < 3) { // 依次显示 0、1 和 2
  3. alert( i );
  4. i++;
  5. }

do/while

使用 do..while 语法可以将条件检查移至循环体末尾,且至少执行一次循环体。
语法:

  1. do {
  2. // 循环体
  3. } while (condition);

示例:

  1. let i = 0;
  2. do {
  3. alert( i );
  4. i++;
  5. } while (i < 3);

break/continue

break用于退出当前循环,continue用于退出当前循环返回循环起始继续执行。
示例:
获取所有偶数,所有奇数使用 continue 跳过

  1. for (let i = 1; i <= 10; i++) {
  2. if (i % 2) continue;
  3. console.log(i);
  4. }

获取三个奇数,超过时使用 break退出循环

  1. let count = 0,num = 3;
  2. for (let i = 1; i <= 10; i++) {
  3. if (i % 2) {
  4. console.log(i);
  5. if (++count == num) break;
  6. }
  7. }

label

标签(label) 为程序定义位置,可以使用continue/break跳到该位置。

for

语法:

  1. for (begin; condition; step) {
  2. // ……循环体……
  3. }

示例:

  1. for (let i = 0; i < 3; i++) { // 结果为 0、1、2
  2. console.log(i);
  3. }

for in

用于遍历对象的所有属性,for/in主要用于遍历对象,不建议用来遍历数组。
语法:

  1. for (const key in object) {
  2. if (Object.hasOwnProperty.call(object, key)) {
  3. const element = object[key];
  4. }
  5. }

示例:

  1. let info = {
  2. name: "KeeneChen",
  3. age: 18
  4. };
  5. for (const key in info) {
  6. if (info.hasOwnProperty(key)) {
  7. console.log(info[key]);
  8. }
  9. }

for of

用来遍历 Arrays(数组), Strings(字符串), Maps(映射), Sets(集合)等可迭代的数据结构。
与 for/in 不同的是 for/of 每次循环取其中的值而不是索引。
语法:

  1. for (const iterator of object) {
  2. }

示例:

  1. let str = 'Hello World';
  2. for (const iterator of str) {
  3. console.log(iterator);
  4. }