5-2、流程控制语句
document.write("内容");
length
语法:string.length
功能:获取string字符串的长度
返回值:number
var password=123;
console.log(password.length);
isNaN() 函数用于检查其参数是否是非数字值。
如果参数值为 NaN 或字符串、对象、undefined等非数字值则返回 true, 否则返回 false。
- 分支语句
- 循环语句
if语句
if(condition){
statement1;
}
condition可以是布尔值,也可以是其他类型时,会强制转换为布尔值。
大括号内的语句只有一句时,大括号时可以不写的,但最好都写上。
if( ){
}else if( ){
}else if( ){
}
prompt()
prompt("请输入你的年龄"); //提示
功能:弹出输入框
返回值:
- 点击确认,返回输入值
- 点击取消,返回null
var age_2=prompt("q请输入你的年龄");
if(age_2<18){
alert("你还未成年");
}
else{
alert("你已经成年了,请输入你的身份证吧");
}
if语句的嵌套
var password=prompt("请设置密码:");
if(password.length!=6){ //判断是否是六位
alert("请输入6位密码:");
}else if(isNaN(passowrd)){ //判断是不是数字
alert("密码必须是数字");
}else{
alert("密码设置成功");
}
switch
获取星期的方法: new Date().getDay()
功能:获取星期
返回值:number(0-6 )
0 星期日 、 1 星期一、…以此类推
var week=new Date().getDay();
console.log(week);
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("今天是星期六");
}
简化代码:
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-in 、wjile 、 do...while
for
语法:
for(语句1;语句2;语句3){
被执行的代码块;
}
语句1:在循环(代码块)开始前执行
语句2:定义运行循环(代码块)的条件
语句3:在循环(代码块)已被执行之后执行
//输出1-100
for(var a=1;a<=100;a++){
document.write(a+"<br />");
}
//输出99 97 95...1
for(var b=99;b>=1;b-=2){
document.write(b+ "<br />")
}
循环嵌套
当循环与循环发生嵌套时遵循下列规则:
- 外层为假时内层不执行;
- 先执行外层再执行内层,直至内层的条件为假时再返回外层去执行。
//输出1 12345 2 12345 3 12345
for (var a = 1; a <= 3; a++) {
document.write(a + "<br />");
for (b = 1; b <= 5; b++) {
document.write(b + "<br />");
}
}
while
语法:
//先判断后执行
while(条件){
需要执行的代码;
}
//先执行后判断
do{
需要执行的代码;
}while(条件)
var a=1;
while(a<=100){
document.write(a+"<br />");
a++; //注意对a进行改变,否则就是死循环
}
var c=1;
do{
if(c%2==0){
document.write(c + "<br />");
}
c++;
}while(c<=10)
//1+2+3+4+...+100
var sum=0;n=1;
while(n<=100){
sum+=n;
n++;
}
document.write(sum + "<br />");
for适合已知循环次数的循环体
while适合未知循环次数的循环体
break 和 continue
break 立即退出循环
continue 结束本次循环,进入下一次循环
for (var b = 1; b <= 10; b++) {
if (b % 5 == 0) {
break;
}
document.write(b);
}
//输出1234
for (var b = 1; b <= 10; b++) {
if (b % 5 == 0) {
break;
}
document.write(b);
}
//输出12346789,没输出5和10
//打印所有0-50之间除20和30之外的5的倍数
for (var a = 5; a <= 50; a += 5) {
if (a == 20 || a == 30) {
continue;
}
document.write(a);
}