1.数组与对象的解构
对象结构
({ name, age } = { name: '吴彦祖', age: 28 });
console.log(name, age);
数组解构
const colors = ['red', 'blue', 'green'];
let [color1, color2, color3] = colors;
console.log(color1, color2, color3);
2.常用流程控制方法
流程控制:分支
<script>
let fs = 69;
// 单分支
if (fs >= 60) console.log('及格了:单分支');
console.log('------------');
// 双分支
if (fs >= 60) console.log('及格了:双分支');
else console.log('不及格');
console.log('--------------');
// 多分支
if (fs >= 60 && fs < 80) console.log('合格:多分支');
else if (fs >= 81 && fs <= 100) console.log('优秀');
// // 判断成绩是否合法
else if (fs >= 100 || fs < 0) console.log('非法成绩!');
// // 默认分支
else console.log('不合格');
console.log('--------------');
// switch简化多分支:switch通常不会去做区间判断,而是用于单值判断
fs = 71;
switch (true) {
case fs >= 60 && fs < 80:
console.log('合格:switch'); break;
case fs >= 81 && fs <= 100:
console.log('学霸'); break;
case fs > 100 || fs < 0:
console.log('非法成绩!'); break;
default: console.log('不合格');
}
console.log('----------------------');
let zt = 'Success'
// 对于单值的字符器需要将格式统一化,例如全转为大写或小写
switch (zt.toLowerCase()) {
case 'fail':
console.log('请求失败'); break;
case 'success':
console.log('请求成功:使用switch单值判断状态'); break;
case 'error':
console.log('参数错误'); break;
default: console.log('未知错误');
}
console.log('-----------------------');
// 双分支
fs = 69;
// 使用三元运算来简化"双分支"
console.log(fs >= 60 ? '及格了:三元运算' : '不及格');
</script>
流程控制:循环
<script>
const arr = [1, 2, 3, 4];
// console.log(arr.length);
// while:入口判断型
// 初始化循环变量
let i = 0;
while (i < arr.length) {
console.log(arr[i]);
// 更新循环条件
i++
}
console.log('--------------------');
// do - while:出口判断型
// i = 0;
// do {
// console.log(arr[i]);
// i++
// } while (i < arr.length)
// for (初始化循环变量;设置循环条件;更新循环条件){...}
// for (let i = 0; i < arr.length; i++) console.log(arr[i]);
// 循环与分支经常混编
for (let i = 0; i < arr.length; i++) {
// 只输出前三个
if (i < 3) console.log(arr[i]);
// 以下二行可实现同样的功能
// if (i >= 3) break;
// console.log(arr[i]);
// if (arr[i] % 2 === 0) continue;
// console.log(arr[i]);
}
console.log('-------------------');
// 对象的遍历
// fon - in
const user = {
id: 8,
name: '吴彦祖',
email: 'wyz@qq.com',
};
for (let key in user) {
console.log(`${key} => ${user[key]}`);
}
console.log('---------------------');
for (let value of arr) {
console.log(value);
}
</script>