JavaScript中的流程控制与函数
程序员文章站
2022-06-04 18:22:29
...
JavaScript中的流程控制
分支
- 单分支:有条件的执行某个代码块,例如下列代码
let age=18
if (age>18){
console.log("允许观看")
}
- 双分支:多了一个”默认分支”,例如下列代码
age = 15;
if (age >= 18) {
console.log("允许观看");
}
// * 默认分支
else {
console.log("少儿不宜");
}
上述分支代码可简化成let res=age>=18?"允许观看":"少儿不宜";
- 多分支:传统多分, if - else if - else if —- ,例如如下代码
// ! 多分支: 有多个"默认分支"
let age = 4;
if (age >= 18 && age < 35) {
console.log("允许单独观看");
}
// * 第1个默认分支
else if (age >= 35 && age < 60) {
console.log("建议二人观看");
}
// * 第2个默认分支
else if (age >= 60 && age < 120) {
console.log("建议在家人陪同下观看");
}
// * 第3个默认分支: 异常分支, 使用 "||" 或 , 满足条件之一就可以了, true
else if (age <= 3 || age >= 120) {
console.log("非法年龄");
}
// * 默认分支(可选)
else {
console.log("少儿不宜");
}
- 多分支:switch
switch (true) {
case age >= 18 && age < 35:
console.log(允许单独观看);
break;
case age >= 35 && age < 60:
console.log("建议二人观看");
break;
case age > 60 && age < 120:
console.log("请在家人陪同下观看");
break;
case age <= 3 || age >= 120:
console.log("非法年龄");
break;
default:
console.log("少儿不宜");
}
循环
- while循环
i = 0;
while (i < length) {
console.log(colors[i]);
i++;
}
- do {} while()循环
let i=0;
const colors = ["red", "green", "blue"];
let length = colors.length;
do{
i++;
}while(i<length)
- for - of : 快速迭代处理集合数据
const colors = ["red", "green", "blue"];
// v 输出数组中的 "键值" 对组成的数组
for (let item of colors.entries()) {
console.log(item);
}
// v 输出数组中的 "键" 对组成的数组
for (let item of colors.keys()) {
console.log(item);
}
// v 输出数组中的 "值" 对组成的数组
for (let item of colors.values()) {
console.log(item);
}
- for - in: 遍历对象
const obj = { a: 1, b: 2, c: 3, say: function () {} };
// 遍历对象
for (let key in obj) {
console.log(obj[key]);
}
// 数组也是对象
for (let i in colors) {
console.log(colors[i]);
}
JavaScript中的函数
函数的参数与返回值
- 参数不足: 默认参数,例如下列代码
f = (a, b = 0) => a + b;
- 参数过多, …rest
f = (a, b, ...arr) => `${a}, ${b}, ${arr}`;
console.log(f(1, 2, 3, 4, 5, 6));
返回值
- 返回数组
f = () => [1, 2, 3];
console.log(f());
- 返回对象: 模块
f = () => ({ a: 1, b: 2, get: function () {} });
console.log(f());