JavaScript 流程控制语句
2018-07-23 本文已影响10人
沧海一粟谦
一、if语句
if( condition ){
statement1;
}else if(condition){
statement2;
}…else{
statement3;
}
prompt()
语法:prompt()
功能:弹出输入框
返回值:
1、点击确定,返回输入内容
2、点击取消,返回null
alert()
语法:alert()
功能:弹出警告对话框
<script>
var age=prompt("请输入您的年龄");
if(age<18){
alert("您还没有成年");
}else if(age>=18 && age<=59){
alert("您可以进入");
}else{
alert("您已超出年龄限制");
}
</script>
length
语法:string.length
功能:获取string字符串的长度
返回值:number
if语句的嵌套:
<script>
var password=prompt("请设置您的密码");
if(password.length!=6){
alert("请输入6位的数字密码");
}else{
if(isNaN(password){ //如果password是一个非数字
alert("密码必须是数字");
}else{
alert("密码设置正确");
}
}
</script>
类型判断:
var str="abc123";
var num=parseInt(str);
alert(num); //NaN
if(num==NaN){ //NaN和任何内容都不相等,包括它本身
alert(NaN);
}else if(num==123){
alert(123);
}else if(typeof num="number"){ //NaN的类型为number 所以成立
alert("num");
}else{
alert("str");
}
//结果为:num
二、switch语句
获取星期
语法:new Date().getDay()
功能:获取星期
返回值:number (0-6) (0为星期日)
输出
语法:document.write(“内容”)
功能:向浏览器输出内容
switch语句
var week=new Date().getDay();
var weekstr="";
switch(week){
case 0:
//document.write("今天是星期日");
weekstr="日";
break;
case 1:
//document.write("今天是星期一");
weekstr="一";
break;
case 2:
//document.write("今天是星期二");
weekstr="二";
break;
case 3:
//document.write("今天是星期三");
weekstr="三";
break;
case 4:
//document.write("今天是星期四");
weekstr="四";
break;
case 5:
//document.write("今天是星期五");
weekstr="五";
break;
default:
//document.write("今天是星期六");
weekstr="六";
}
document.write("今天是星期"+weekstr);
三、for语句
语法:
for(语句1;语句2;语句3){
被执行的代码块;
}
语句 1 :在循环(代码块)开始前执行
语句 2: 定义运行循环(代码块)的条件
语句 3 :在循环(代码块)已被执行之后执行
<script>
//输出1~100
for(var i=1;i<=100;i++){
document.write(i+'<br />');
}
//输出99 97 95...3 2 1
for(var m=99;m>=1;m-=2){
console.log(m);
}
alert(m);//-1
</script>
循环的嵌套:
当循环与循环发生嵌套时遵循下列规则:
1、外层为假时内层不执行;
2、先执行外层再执行内层,直至内层的条件为假时再返回外层去执行。
<script>
for(var i=1;i<=3;i++){
document.write(i+'<br />');
document.write('<hr />')
for(var j=1;j<=5;j++){
document.write(j+'<br />');
}
}
</script>
四、while语句
语法:
while(条件){
需要执行的代码;
}
例:
<script>
var i=1;
while(i<=100){
document.write(i+'<br />');
i++;
}
//1+2+3+4+...+100=?
var sum=0;
var n=1;
while(n<=100){
sum+=n;
n++;
}
console.log(sum); //5050
</script>
五、do-while语句
语法:
do{
需要执行的代码;
}while(条件)
这种语法的循环至少要被执行一次。
例:
//1-10之间的所有偶数
do{
if(j%2==0){
console.log(j);
}
j++;
}while(j<=10);
for与while的区别:
for:适合已知循环次数的循环体
while:适合未知循环次数的循环体
break:立即退出循环
continue:结束本次循环,继续开始下一次。
var num=0;
for(var i=1;i<10;i++){
//如果i是5的倍数,退出
if(i%5==0){
break;
}
console.log(i);//1 2 3 4
num++;//4
}
var num=0;
for(var i=1;i<10;i++){
//如果i是5的倍数,退出
if(i%5==0){
continue;
}
console.log(i);//1 2 3 4 6 7 8 9
num++;//8
}
for(var s=0,j=1;j<=10;j++){
if(j%5==0){
break;
}
s+=j;
}
console.log(s);//10
for(var s=0,j=1;j<=10;j++){
if(j%5==0){
continue
}
s+=j;
}
console.log(s);//40
打印所有0-50之间除了20和30之间的5的倍数
for(var n=0;n<=50;n+=5){
if(n==20 || n==30){
continue;
}
console.log(n);
}