Javascript中的常用语句
顺序结构---一行一行执行
1.选择结构语句--根据判断条件的执行结果【boolean值】,有选择性的执行某一部分代码\
if语句:
1、if(判断){需要被执行的javascript代码}
先执行判断,判断为true时执行“{}"
[只选对的]
2、if(判断){对的的执行}esle{错误的执行}
先执行判断,判断为true时执行“{对的的执行}"
判断为false时执行"{错误的执行}"
[2选1]
可以代替三元运算符【(判断)?对的:错的】
3、if(判断1){判断1为true}esle if(判断2){判断2为true}...else{所有判断都是为false}
先执行判断1,判断1为true时执行“{判断1为true}"
判断1为false时执行,执行判断2
判断2为true时执行“{判断2为true}"
判断2为false时执行,执行判断3
.....
如果所有的判断执行都为false,执行最后一个"{}".
[多选1]
4.if(){}else{}的嵌套
if(判断1){
if(判断2){
判断1为true,&& 判断2为true
}else{
判断1为true,&& 判断2为false
}
}else{
if(判断3){
判断1为false,&& 判断3为true
}else{
判断1为false,&& 判断3为false
}
}
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<script>
function testIf1(){
//定义变量
var age=20;
//if(判断){需要被执行的javascript代码}
//先执行判断,判断为true时执行“{}"
//[只选对的]
if(age>18){
alert("只选对的");
}
}
function testIf2(){
//定义变量
var age=10;
//if(判断){对的的执行}esle{错误的执行}
//先执行判断,判断为true时执行“{对的的执行}"
// 判断为false时执行"{错误的执行}"
//[2选1]
//可以代替三元运算符【(判断)?对的:错的】
//var str=(age > 18)?"成年人":"未成年人";
if(age>18){
alert("成年人");
}else{
alert("未成年人");
}
}
function testIf3(){
//定义变量
var chengji=195;
//if(判断1){判断1为true}esle if(判断2){判断2为true}...else{所有判断都是为false}
/*
先执行判断1,判断1为true时执行“{判断1为true}"
判断1为false时执行,执行判断2
判断2为true时执行“{判断2为true}"
判断2为false时执行,执行判断3
.....
如果所有的判断执行都为false,执行最后一个"{}".
[多选1]
*/
if(chengji > 0 && chengji<60){
alert("不及格,D级,建议重修!");
}else if(chengji>=60 && chengji<80){
alert("及格,C级,需要加强!");
}else if(chengji>=80 && chengji<90){
alert("良好,B级,继续保持!");
}else if(chengji>=90 && chengji<=100){
alert("优秀,A级,已经突破!");
}else{
alert("检查一下,是否有错!");
}
}
function testIf4(){
//定义变量
var chengji=-15;
/*
if(判断1){
if(判断2){
判断1为true,&& 判断2为true
}else{
判断1为true,&& 判断2为false
}
}else{
if(判断3){
判断1为false,&& 判断3为true
}else{
判断1为false,&& 判断3为false
}
}
*/
if(chengji>=60){
if(chengji<80){
alert("及格");
}else{
alert("优秀");
}
}else{
if(chengji>0){
alert("不及格");
}else{
alert("成绩为负数");
}
}
}
</script>
</head>
<body>
<input type="button" value="测试if1" οnclick="testIf1();" />
<input type="button" value="测试if2" οnclick="testIf2();" />
<input type="button" value="测试if3" οnclick="testIf3();" />
<input type="button" value="测试if4" οnclick="testIf4();" />
</body>
</html>
switch语句:
格式:
switch(表达式){
case 数值1: 表达式==数值1[javascript代码1];[break]
case 数值2: 表达式==数值2[javascript代码2];[break]
case 数值3: 表达式==数值3[javascript代码3];[break]
......
case 数值n: 表达式==数值n[javascript代码n];[break]
defualt:表达式与case后面的数值比较全部失败
[javascript代码n]
}
类似于if(){}else if(){}---[多选1]
先执行表达式得到一个结果,用结果值与case后面的数值比较,如果比较成功,就执行对应case后面的
javascript代码,直到碰见break就结束执行。
结果值与case后面的数值比较,如果比较失败,与下一个case后面的数值比较,....以此类推,直到所有的case后面的数值比较都失败,就执行defualt后面的javascript代码。
当case后面对应的javascript代码执行结束后,没有break,取消比较,直接执行下一个case后面的javascript代码直到碰见break就结束执行。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<script>
function testswitch(){
var num1=10;
var num2=3;
var oper="+";
switch(oper){
case "+" : alert(num1+"+"+num2+"="+(num1+num2));break;
case "-" : alert(num1+"-"+num2+"="+(num1-num2));break;
case "*" : alert(num1+"*"+num2+"="+(num1*num2));break;
case "/" : alert(num1+"/"+num2+"="+(num1/num2));break;
default:alert("判断失败");
}
}
</script>
</head>
<body>
<input type="button" value="测试switch语句" οnclick="testswitch();" />
</body>
</html>
2.循环结构语句---重复执行
1.for循环
格式:
for(初始条件;判断条件;循环增量/减量){
需要被重复执行的javascript代码
}
初始条件--变量的创建,设置循环的起始
判断条件--比较表达式,设置循环的结束
循环增量/减量--修改初始条件的值
先执行初始条件,后执行判断条件---true--{}--循环增量/减量--判断条件--.....直到判断条件的值为false时结束循环
2.while循环
格式:
while(判断条件){
需要被重复执行的javascript代码
}
1.没有初始条件,需要在循环结构之外定义
2.没有循环增量/减量的控制条件,需要在循环结构之内{}的最后一句加上
先执行判断条件--true--{}
--false结束执行
3.do{}while循环
格式:
do{
需要被重复执行的javascript代码
}while(判断条件)
1.没有初始条件,需要在循环结构之外定义
2.没有循环增量/减量的控制条件,需要在循环结构之内{}的最后一句加上
先执行{需要被重复执行的javascript代码},执行while后面判断条件
判断条件--true--do{需要被重复执行的javascript代码}
--false结束执行
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<script>
function testfor(){
/*
for(初始条件;判断条件;循环增量/减量){
需要被重复执行的javascript代码
}
初始条件--变量的创建,设置循环的起始
判断条件--比较表达式,设置循环的结束
循环增量/减量--修改初始条件的值
先执行初始条件,后执行判断条件---true--{}--循环增量/减量--判断条件--.....直到判断条件的值
为false时结束循环
*/
//循环输出1~10的整数
/*
for(var i=1;i<=10;i++){
alert("i=="+i);
}
*/
//循环输出10~1的整数
/*
for(var i=10;i>0;i--){
alert("i=="+i);
}
*/
//计算1~100的整数和 【5050】
var sum=0;
for(var i=1;i<=100;i++){
sum=i+sum;
}
alert(sum);
//sum=0 i=1 i+sum==1+0=1 --sum=1 i++---i=2
//sum=1 i=2 i+sum==2+1=3 ---sum=3 i++---i=3
//sum=3 i=3 i+sum==3+3=6 ---sum=6 i++---i=4
//.............
}
//阶乘 1!+2!+3!+...+10!
//斐波那契数列的前20项和
function testwhile(){
/*
while(判断条件){
需要被重复执行的javascript代码
}
1.没有初始条件,需要在循环结构之外定义
2.没有循环增量/减量的控制条件,需要在循环结构之内{}的最后一句加上
先执行判断条件--true--{}
--false结束执行
*/
//循环输出1~10的整数
/*
var j=1;
while(j<=10){
alert("j=="+j);
j++;
}
*/
//循环输出10~1的整数
/*
var i=10;
while(i>0){
alert("i=="+i);
i--;
}
*/
//计算1~100的整数和 【5050】
var sum=0;
var i=1;
while(i<=100){
sum=i+sum;
i++;
}
alert(sum);
}
function testdowhile(){
/*
do{
需要被重复执行的javascript代码
}while(判断条件)
1.没有初始条件,需要在循环结构之外定义
2.没有循环增量/减量的控制条件,需要在循环结构之内{}的最后一句加上
先执行{需要被重复执行的javascript代码},执行while后面判断条件
判断条件--true--do{需要被重复执行的javascript代码}
--false结束执行
*/
//循环输出1~10的整数
/*
var j=1;
do{
alert("j=="+j);
j++;
}while(j<=10);
*/
//循环输出10~1的整数
/*
var i=10;
do{
alert("i=="+i);
i--;
}while(i>0);
*/
//计算1~100的整数和 【5050】
var sum=0;
var i=1;
do{
sum=i+sum;
i++;
}while(i<=100)
alert(sum);
}
</script>
</head>
<body>
<input type="button" value="测试for循环" οnclick="testfor();" />
<input type="button" value="测试while循环" οnclick="testwhile();" />
<input type="button" value="测试do-while循环" οnclick="testdowhile();" />
</body>
</html>
while循环--先判断后循环
do{}while循环--先循环后判断
当判断条一开始为false的时候,do{}while循环会比while循环多执行一遍
while循环和do{}while循环与for循环的差别?
for循环的判断条件是一个比较表达式,需要明确循环的次数
while循环和do{}while循环的判断条件可以是一个boolean值,需要明确循环的次数
3.其他语句
break语句--结束switch语句的执行,也可以循环执行。
continue语句---结束当前,进入下一次执行
function testBreak(){
for(var i=1;i<=10;i++){
alert("i=="+i);
if(i==5){
break;
}
}
}
function testcontinue(){
for(var i=1;i<=10;i++){
if(i==5){
continue;
}
alert("i=="+i);
}
}