条件语句
if
如果只有一条代码块,可以省略{}
语法:
if (condition){当条件为 true 时执行的代码}
示例:
if (3 > 2) {console.log('true');}
if/else
语法:
if (condition) {当条件为 true 时执行的代码} else {当条件为 flase 时执行的代码}
示例:
if (3 > 2) {console.log('true');} else {console.log('false');}
三元运算符
三元运算符也叫三目运算符,起作用就是简化if语句。计算条件结果,如果结果为真,则返回 value1,否则返回 value2。
语法:
condition ? value1 : value2
示例:
let foo = (age > 18) ? true : false;
switch
switch语句有至少一个 case代码块和一个可选的 default代码块。
语法:
switch(x) {case 'value1': // if (x === 'value1')...[break]case 'value2': // if (x === 'value2')...[break]default:...[break]}
示例:
switch (Math.floor(score / 10)) {case 0:case 1:case 2:case 3:case 4:case 5:return '不及格';break;case 6:return '及格';break;case 7:return '一般';break;case 8:return '良好';break;case 9:return '优秀';break;default:return '真棒';break;}
循环语句
while
当 condition 为真时,执行循环体的代码。至少一次也不执行循环体。
语法:
while (condition) {// 代码// 所谓的“循环体”}
示例:
let i = 0;while (i < 3) { // 依次显示 0、1 和 2alert( i );i++;}
do/while
使用 do..while 语法可以将条件检查移至循环体末尾,且至少执行一次循环体。
语法:
do {// 循环体} while (condition);
示例:
let i = 0;do {alert( i );i++;} while (i < 3);
break/continue
break用于退出当前循环,continue用于退出当前循环返回循环起始继续执行。
示例:
获取所有偶数,所有奇数使用 continue 跳过
for (let i = 1; i <= 10; i++) {if (i % 2) continue;console.log(i);}
获取三个奇数,超过时使用 break退出循环
let count = 0,num = 3;for (let i = 1; i <= 10; i++) {if (i % 2) {console.log(i);if (++count == num) break;}}
label
标签(label) 为程序定义位置,可以使用continue/break跳到该位置。
for
语法:
for (begin; condition; step) {// ……循环体……}
示例:
for (let i = 0; i < 3; i++) { // 结果为 0、1、2console.log(i);}
for in
用于遍历对象的所有属性,for/in主要用于遍历对象,不建议用来遍历数组。
语法:
for (const key in object) {if (Object.hasOwnProperty.call(object, key)) {const element = object[key];}}
示例:
let info = {name: "KeeneChen",age: 18};for (const key in info) {if (info.hasOwnProperty(key)) {console.log(info[key]);}}
for of
用来遍历 Arrays(数组), Strings(字符串), Maps(映射), Sets(集合)等可迭代的数据结构。
与 for/in 不同的是 for/of 每次循环取其中的值而不是索引。
语法:
for (const iterator of object) {}
示例:
let str = 'Hello World';for (const iterator of str) {console.log(iterator);}
