JavaScript 温故而知新(二)流程控制语句

javaScript 条件语句

① 分支语句

if语句:

1、语法(一种条件的判断)

	if(condition){ //括号里的条件成立时,就执行里面的声明语句
		statement;
	}
	// 语法例子
	var age = 35;
	if(age > 18){ //age满足括号里的条件
		alert("你已经成年了"); //就会出现弹出框
	}

2、语法(两种条件的判断)

	if(condition){ //括号里的条件成立时
		statement1; //就执行里面的语句
	}else{
		statement2; //否则执行这里的语句
	}
    //语法:prompt()
    //功能:弹出输入框
    //返回值:
    //1、点击确定,返回输入内容
    //2、点击取消,返回null
    
    //让用户输入变量值
    //语法例子
    var age = prompt("请输入你的年龄?");
    if(age < 18){
    	alert("你还没有成年。");
    }else{
    	alert("你已成年,请提供你的身份证号。");
    }

3、语法(三种以上的条件判断)

if(condition){
	statement1;
}else if(condition){
	statement2;
}else{
	statement3;
}

例子:
age<18岁,您还未成年。
18< age <59,您可以进入。
age = 其他,您已超出年龄限制。

// 语法例子
var age = prompt("请输入您的年龄");
if(age<18){
	alert("您还没有成年");
}else if(age>=18 && age<=59){
	alert("您可以进入");
}else{
	alert("您已超出年龄限制");
}
if语句的嵌套:

例子:
密码:{长度不等于6位(请输入6位数字密码)}、{密码类型:非数字(密码必须是6位数字)、数字(密码设置正确)}

	var password = prompt("请设置您的密码");
	//判断密码的长度,如果不是6位,否则
	
	//功能:获取string字符串的长度
	//语法:string.length
	//返回值:number
	if(password.length !=6){
		alert("请输入6位的数字密码");
	}else{
		//如果密码的长度等于6,才会执行下面的语句,再进行判断
		
		//如果密码是非数字,否则是数字
		//isNaN 检测是否为非数字
		if(isNaN(password)){//就是非数字
			alert("密码必须要数字");
		}else{
			alert("密码设置正确");
		}
	}
switch语句:

多条件(3个以上)的判断 可以使用switch语句。
功能:获取星期
语法:new Date().getDay()
返回值:number(0~6)

switch语句语法:

switch(expression){ //对 expression 进行判断
	case value:statement //条件,执行语句
	break;//退出
	case value:statement
	break;
	...
	default:statement //都不符合条件,就执行default,默认
}

例子:

       var week = new Date().getDay();
       console.log(week); //输出返回的结果是number:2,就是星期二
       switch(week){
       		case 0:document.write("今天是星期日");
       		break;
       		case 1:document.write("今天是星期一");
       		break;
       		case 2:document.write("今天是星期二");
       		break;
       		case 3:document.write("今天是星期三");
       		break;
       		case 4:document.write("今天是星期四");
       		break;
       		case 5:document.write("今天是星期五");
       		break;
       		default:document.write("今天是星期六"); //如果week的值范围只有0~6,如果不等于0~5,那就是只有等于6
       }

例子:简化

       var week = new Date().getDay();
       var weekstr = "";
       switch(week){
       		case 0:weekstr="日";
       		break;
       		case 1:weekstr="一";
       		break;
       		case 2:weekstr="二";
       		break;
       		case 3:weekstr="三";
       		break;
       		case 4:weekstr="四";
       		break;
       		case 5:weekstr="五";
       		break;
       		default:weekstr="六";
       }
       document.write("今天是星期"+weekstr);

② 循环语句

for语句:

语法:

for(语句1;语句2;语句3){
	被执行的代码;
}
//语句1:在循环(代码块)开始前执行
//语句2:定义运行循环(代码块)的条件
//语句3:在循环(代码块)已被执行之后执行

例子:

       //循环1~100
       //语句1:循环的初始值
       //语句2:循环的条件
       //语句3:变量的变化
       for(var i=1; i<=100; i++){
    		document.write(i+"<br/>");
       }
      	//循环100以内的奇数,输出99 97 95 ...3 1
      	for(var m=99; m>=1; m-=2){
      		document.write(m+"<br/>")
      	}
for语句的嵌套:

当循环与循环发生嵌套时遵循下列规则:
1、外层为假时内层不执行;
2、先执行外层再执行内层,直至内层的条件为假时再返回外层去执行。
例子:

      	// 输出	1 12345,
      	// 		2 12345, 
      	// 		3 12345
      	// 第一位数的1 2 3 是for循环的外层
      	// 后面的12345 是嵌套的for循环
      	for(var i=1; i<=3; i++){
      		document.write(i+"<br/>");//    1          2         3
      		for(j=1; j<=5; j++){
      			document.write(j+"<br/>");//1 2 3 4 5  1 2 3 4 5  1 2 3 4 5
      		}
      	}
while语句:

语法:

while(条件){//当条件满足时,执行里面的代码
	需要执行的代码;
}

例子:输出1~100

      	var i=1;
      	while(i<=100){
      		document.write(i+'<br/>');
      		i+=1 //i++
      	}

例子:计算1+2+3+4+…100=的和

      	var sum=0; //初始sum的和
      	var n=1;
      	while(n<=100){
      		sum+=n; //sum=sum+n
      		n++;
      	}
      	document.write(sum);
do-while语句:

语法:
do{
需要执行的代码
}while(条件)
说明:这种语法的循环至少要被执行一次。

例子:

      	// 输出1~10的偶数
      	var j =1;
      	do{
      		if(j%2==0){//判断是偶数
      			document.write(j+"<br/>");
      		}
      		j++
      	}while(j<10);

总结for与while的区别:
for语句:适合已知循环次数的循环体。
while语句:适合未知循环次数的循环体。

③ break语句和continue语句

可以精确的控制循环在代码中执行的语句。
break:立刻退出循环。
continue:结束本次循环,继续开始下一次。

      	for(var i=1; i<10; i++){
      		//如果i是5的倍数,退出
      		if(i%5==0){
      			break;
      		}
      		document.write(i+"<br/>"); //输出1 2 3 4 就退出
      	}
      	for(var i=1; i<10; i++){
      		//如果i是5的倍数,退出
      		if(i%5==0){
      			continue;
      		}
      		document.write(i+"<br/>"); //输出1 2 3 4 6 7 8 9 就退出
      	}

例子:

      	//输出所有0~50之间,除20和30之外的5的倍数
      	for(var n=0; n<=50;n+=5){
      		// console.log(n); //0~50中5的倍数
      		if(n==20 || n==30){
      			continue;
      		}
      		console.log(n);
      	}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值