JavaScript -- 条件语句和循环语句
if语句
在我们开发程序的时候,经常会遇到选择题,例如,年龄大于18,你就可以抽烟喝酒烫头,年龄小于18,你就只能吃饭喝水。在我们的代码中,我们可以用if语句来实现这种判断
语法一:
if( condition ){
statement1;
}
在说if语句之前,先来看两个方法prompt()和alert()
prompt
和用户进行交互的
语法:prompt()
功能:弹出输入框
返回值:
1、点击确定,返回输入内容
2、点击取消,返回null
alert
语法:alert()
功能:弹出警告对话框
判断年龄大于18,提示你已经成年了
var age = 35;
if (age > 18){
alert('你已经成年啦。。。')
}
语法二:
if( condition ){
statement1;
}else{
statement2;
}
用代码完成以下要求
var age = prompt('请输入你的年龄?')
if (age > 18){
alert('你已经成年啦。。。');
}else{
alert('小屁孩,你还未成年。。。');
}
语法三:
if( condition ){
statement1;
}else if(condition){
statement2;
}…else{
statement3;
}
var age = prompt('请输入你的年龄?') if (age < 18){ alert('小屁孩,你还未成年。。。'); }else if(age > 18 && age <59){ alert('成年了。。。'); }else { alert('年龄太大了。。。') }
if语句的嵌套
length
语法:string.length
功能:获取string字符串的长度
返回值:number
案例:
var password = prompt('请输入你的密码?')
//判断密码的长度,如果不是6位,否则
if (password.length != 6){
alert('请输入6位的数字密码。。。');
}else {
//如果密码是非数字,则是数字
if(isNaN(password)){
alert('密码必须是数字')
}else {
alert('密码设置正确')
}
}
小练习,判断下面的结果是:
var str = 'abc123'
var num = parseInt(str)
if (num == NaN){
alert(NaN)
}else if (num == 123){
alert(123)
}else if (typeof num == 'number'){
alert('number')
}else {
alert('str')
}
结果:
number
NaN和任何内容都不相等,包括它本身
switch
switch也是一个条件语句,当判断多于三个的时候,这时候不推荐使用if语句,建议使用switch语句
获取日期
语法:new Date().getDay()
功能:获取星期
返回值:number (0-6)
其中0表示的是星期天
输出
前面我们一直用的是console.log()输出到控制台,如果想要输出在浏览器,我们可以用document.write(“内容”)
switch语法:
switch( expression ){
case value:
statement
break;
case value:
statement
break;
……
default:
statement
}
解释:expression 是一个表达式,如果这个表达式和case后面的value相等,就执行这个case下面的代码,如果没有相等的,就执行default下面的代码,看个栗子。
在浏览器中显示,今天星期五(假设今天为星期五)
var week = new Date().getDay();
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('今天是星期六');
}
循环
如果你想重复的做某件事情,这时候就可以使用循环,在JS中,循环有for循环,while循环,do...while循环
for循环
语法:
for(语句1;语句2;语句3){
被执行的代码块;
}
语句 1 :在循环(代码块)开始前执行
语句 2: 定义运行循环(代码块)的条件
语句 3 :在循环(代码块)已被执行之后执行
案例:在浏览器中输出1--100的整数
for (var num = 1;num < 101; num++){ document.write(num + "<br />"); };
for循环的嵌套
说明:
当循环与循环发生嵌套时遵循下列规则:
1、外层为假时内层不执行;
2、先执行外层再执行内层,直至内层的条件为假时再返回外层去执行。
举个例子:
for (var num = 1;num < 4; num ++){ document.write('<hr />'); document.write(num + "<br />");{ for (var i = 1;i<=5;i++){ document.write(i+'<br />'); } } }
while循环
语法:
while(条件){
需要执行的代码;
}
案例:在浏览器中输出1--100的整数
var i = 1; while (i <=100){ document.write(i+'<br />'); i++ }
do-while循环
语法:
do{
需要执行的代码;
}while(条件)
说明:这种语法的循环至少要被执行一次。
var i = 1; do { if (i % 2 ==0){ document.write(i + '<br />'); }i++; }while (i<=10);