js的流程控制
顺序结构
顺序结构,体现了代码从上到下依次执行。但是在JS中,要注意两点能够打破顺序结构的知识点,一点是变量提升。另一点是函数预加载。
变量提升的例子:
console.log(a); // undefined
var a = 1;
函数预加载的例子:
// 函数预加载的条件:1.函数必须是以常规方式声明 2.函数的声明与调用在同一个script片段中
b(); // 123
function b() {
console.log(123);
}
分支结构
最常用的if...else...结构
if()…else….
if()…else if()…else…
var week = new Date().getDay();
console.log(week);
var week_zh_cn;
switch (week) {
case 1:
week_zh_cn = '周一';
break;
case 2:
week_zh_cn = '周二';
break;
case 3:
week_zh_cn = '周三';
break;
case 4:
week_zh_cn = '周四';
break;
case 5:
week_zh_cn = '周五';
break;
case 6:
case 7:
week_zh_cn = '周末';
break;
default:
console.log('格式错误');
break;
}
console.log(week_zh_cn);
循环结构
// 遍历对象
var hero = {name: '郭靖', age: 35, wife: '黄蓉'};
for (var i in hero) {
console.log(i, hero[i]);
}
// 遍历数组
var heros = ['乔峰', '虚竹', '段誉']
for (var i in heros) {
console.log(i, heros[i]);
}
continue和break
// 可以给循环命名,便于后续跳出循环使用
a:for (var i=1; i<=3; i++) {
b:for (var j=1; j<=3; j++) {
if (j === 2) {
// continue; // 跳过当前循环,继续往下走
// break; // 默认情况下跳出本层循环,不影响外层循环
// break b; // 指定要跳出的循环
break a; // 指定要跳出的循环
}
console.log(j + '-' + i);
}
}
转载必须注明出处:https://www.zhiqiexing.com/139.html