横向对比js的流控制语句,从此不再迷茫。
哈哈,给此博文插图:当前端发现全公司只有一个人手机显示的界面有问题的时候…
- break: 终止循环,使当前循环不再继续执行。用于跳出循环或switch语句。当是嵌套循环的时候,只能跳出一层循环。
- continue: 跳过当前循环,继续往下判断循环执行语句,相当于开始循环的一次新迭代。只能结束循环中的一次过程,无法阻止循环继续进行。
- return: 用于指定函数的返回值,只能出现在函数体中,并且终止return后语句的执行。经常用来搭配if语句等来使用。只对当前函数体有效。return 可以返回任何类型的值,也可不返回任何值(此时函数的返回值为undefined)。
//情况1
for(var i=1;i<=5;i++) {
if(i==3) {
break;
}
console.log(i);
}
//情况2
for(var i=1;i<=5;i++) {
if(i==3) {
break;
}
}
console.log(i);
function sum(){
if(true){
return false;
}
}
function num() {
//...
}
function test(){
sum();
num();
}
test();
//return判断登录条件
function Login_Click(name, pwd) {
if (name == "") {
alert('用户名为空');
return; //return false
}
if (pwd == "") {
alert('密码为空');
return;
}
alert('登陆成功');
}
- do while语句:后测试循环语句,代码至少会执行一次。
- while语句:前测试循环语句,先执行测试条件,再对表达式进行判断是否执行。循环体内代码可能永远不执行
- for语句:也算是一种前测试循环语句。但是能在执行循环前初始化变量。for语句和while语句功能相同。for循环的初始表达式,控制表达式和循环后表达式都可省略,创建一个无线循环
- for-in语句:用来枚举对象的属性。
- switch语句:流控制语句。
var i= 0 ;
do(i += 2) while(i < 0 );
alert(i) //2
var i = 0;
while(i < 0 ) i += 2;
alert(i) // 0
var count = 2;
for (var i = 0; i < count; i++){
console.log(i); //0, 1
}
console.log(i) // 2 不存在块级作用域
//for循环内如果只写控制表达式,就相当于while了
var count = 2, i = 0;
for(;i<count;) {
console.log(i)
i++
}
//for语句转化为while语句
var count = 2, i = 0;
while(i < count) {
console.log(i)
i++;
}
//for in循环也可以省略var
for (property in expression) statement
continue在for循环和while循环中不同表现
var c = 0;
while(c < 5) {
c++;
if(c == 3) continue;
console.log(c)
} // 1, 2, 4, 5
var c = 5
while (a < 5) {
if (a == 3) continue
a++
console.log(a)
}
//a = 3 以后,不再执行下面的代码,所以a一直为3,一直满足条件,就形成了死循环
上面demo看一遍就懂,算是一个小总结吧。