前端基础——javascript的流程控制语句
JavaScript条件语句
if语句
语法一:
if( condition ){
statement1;
}
var your_age =15; if(your_age<18){ alert("未满十八岁,禁止观看!"); }
语法二:
if( condition ){
statement1;
}else{
statement2;
}
var your_age =25; if(your_age<18){ alert("未满十八岁,禁止观看!"); }else{ alert("你已经成年了,要为自己的行为负责!"); }
语法三:
if( condition ){
statement1;
}else if(condition){
statement2;
}…else{
statement3;
}
var user_name = prompt("请输入你的年龄:"); // 据说养成先搭机构的习惯,会有好处的 if (user_name>=18 && user_name<=59){ alert("感悟人生吧!"); }else if (user_name>59){ alert("享受人生吧!"); }else{ alert("你还未成年,去接触人生吧!"); }
prompt()
语法:prompt()
功能:弹出输入框
返回值:
1、点击确定,返回输入内容
2、点击取消,返回null
var your_age = prompt("请输入的你年龄!"); if (your_age>=18){ alert("你已经成年,可以为自己的行为负责了!"); }else{ alert("你还没成年,老实点!"); }
alert()
语法:alert()
功能:弹出警告对话框
length
语法:string.length
功能:获取string字符串的长度
返回值:number
if语句的嵌套
var pass_word = prompt("请输入密码:"); if (pass_word.length == 6){ if (isNaN(pass_word)){ alert("请输入6位纯数字密码!"); }else{ alert("密码设置完成!"); } }else{ alert("请输入六位密码!"); }
一道面试题:下面代码返回的结果是?答案:Number,NaN是一种特殊的number数据类型
var str = "abc123"; var num = parseInt(str); if (num==NaN){ // 虽然num返回NaN,但是NaN和任何内容都不相等,包括NaN它本身 alert("NaN"); }else if (num==123){ alert(123); // 数据类型中的 数字型的number首字母是小写,这点要注意 }else if (typeof num == "number"){ alert("Number") }else{ alert("str"); }
获取星期
语法:new Date().getDay()
功能:获取星期
返回值:number (0-6),星期日返回的是0,其他的与系统的星期相对应。
var week = new Date().getDay(); console.log(week); // 4 返回当天的星期 当天星期四
输出
语法:document.write(“内容”)
功能:向浏览器输出内容
switch语句
多条件判断 在三种情况以内用 if 语句,超过三种情况的话用 switch 语句解决
语法:
switch( expression ){
case value:statement
break;
case value:statement
break;
……
default:statement
}
// 多条件判断 在三种情况以内用 if 语句,超过三种情况的话用 switch 语句解决 var week = new Date().getDay(); console.log(week); // 4 返回当天的星期 当天星期四 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; // case 6: // document.write("星期六"); // break; default: // 最后一种情况,不用在去判断了,直接用default,表示最后一种情况 document.write("星期六"); }
优化一下上面代码的写法,如下所示:
// 优化一下代码,document.write 写的太多了 var week = new Date().getDay(); var weekstr = ""; // 定义一个空字符串 console.log(week); // 4 返回当天的星期 当天星期四 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; // case 6: // document.write("星期六"); // break; default: // 最后一种情况,不用在去判断了,直接用default,表示最后一种情况 weekstr="六"; } document.write("星期" + weekstr);
JavaScript循环语句
for语句
语法:
for(语句1;语句2;语句3){
被执行的代码块;
}
语句 1 :在循环(代码块)开始前执行
语句 2: 定义运行循环(代码块)的条件
语句 3 :在循环(代码块)已被执行之后执行
// 输出 1 到 100 for (var i=1;i<=100;i++){ document.write(i + "<br/>"); } // 输出 99 到 1 for (var j=99;j>0;j-=2){ console.log(j); }
嵌套
说明:
当循环与循环发生嵌套时遵循下列规则:
1、外层为假时内层不执行;
2、先执行外层再执行内层,直至内层的条件为假时再返回外层去执行。.
for (var i=1;i<=3;i++){ // 变量一定不要忘了 var 声明 document.write(i + "<br />"); for (j=1;j<=5;j++){ document.write(j+ "<br />"); } }
打印乘法表
for (var i=1;i<=9;i++){ for (var j=1;j<=i;j++){ document.write(i+"*"+j+"="+i*j+" "); } document.write("<br />"); }
while语句
语法:
while(条件){
需要执行的代码;
}
var i=1; // 初始写在外面 while(i<101){ document.write(i + "<br />"); i++; // 循环执行后,必须改变变量 }
do-while 语句
语法:
do{
需要执行的代码;
}while(条件)
说明:这种语法的循环至少要被执行一次。
var i = 18; do{ if (i%2==0){ console.log(i); } i++; }while (i<11);
// 求 1+2+3+4+5+……+100的和 var sum=0; // sum 和 var i = 1; while (i<=100){ sum+=i; i++; } document.write(sum); // 5050
for与while的区别
for:适合已知循环次数的循环体
while:适合未知循环次数的循环体
break语句
break:立即退出循环
continue 语句
continue:结束本次循环,继续开始下一次。
// 打印所有0到50之间除了20和30之外5的倍数 for (var n=0;n<=50;n+=5){ if (n==20 || n==30){ continue; } console.log(n); }