Javascript进阶篇——(流程控制语句)笔记整理

做判断(if语句)
if语句是基于条件成立才执行相应代码时使用的语句。
语法:

1 if(条件){
2     条件成立时执行代码
3 }

例子:假设你应聘web前端技术开发岗位,如果你会HTML技术,你面试成功,欢迎加入公司。

1 <script type="text/javascript">
2     var mycarrer = "HTML";
3     if (mycarrer == "HTML"){
4         document.write("你面试成功,欢迎加入公司。");
5     }
6 </script>

 

二选一(if...else语句)
if...else语句是在指定的条件成立时执行代码,在条件不成立时执行else后的代码。
语法:

1 if(条件){
2     条件成立时执行的代码
3 }else{
4     条件不成立时执行的代码
5 }

例子:假设你应聘web前端技术开发岗位,如果你会HTML技术,你面试成功,欢迎加入公司,否则你面试不成功,不能加入公司。

1 <script type="text/javascript">
2     var mycarrer = "HTML"; //mycarrer变量存储技能
3     if (mycarrer == "HTML"){
4         document.write("你面试成功,欢迎加入公司。"); 
5     }else{
6         //否则,技能不是HTML
7         document.write("你面试不成功,不能加入公司。");
8     }
9 </script>

 

多重判断(if...else嵌套语句)
要在多组语句中选择一组来执行,使用if..else嵌套语句。
语法:

1 if(条件1)
2 { 条件1成立时执行的代码}
3 else if(条件2)
4 { 条件2成立时执行的代码}
5 ...
6 else if(条件n)
7 { 条件n成立时执行的代码}
8 else
9 { 条件1、2至n不成立时执行的代码}

例:联合国世界卫生组织对年龄的划分标准, 44岁以下为青年;45岁至59·岁为中年人。60岁至89岁为老年人;90岁以上为长寿老年人。赵红今年99岁了,她属于哪个年龄阶段的。

 1 <script type="text/JavaScript">
 2     var myage =99;//赵红的年龄为99
 3     if(myage<=44){
 4         document.write("青年");
 5     }else if(myage<=59) {
 6         document.write("中年人");
 7     }else if (myage<=89){
 8         document.write("老年人");
 9     }else {
10         document.write("长寿老年人");
11     }
12 </script>

 

多种选择(Switch语句)
当有很多种选项的时候,switch比if else使用更方便。

 1 switch(表达式)
 2 {
 3 case值1:
 4 执行代码块 1
 5 break;
 6 case值2:
 7 执行代码块 2
 8 break;
 9 ...
10 case值n:
11 执行代码块 n
12 break;
13 default:
14 与 case值1 、 case值2...case值n 不同时执行的代码
15 }

语法说明:
Switch必须赋初始值,值与每个case值匹配。满足执行该 case 后的所有语句,并用break语句来阻止运行下一个case。如所有case值都不匹配,执行default后的语句。
例子:我们来做个周计划,周一、二学习理念知识,周三、四到企业实践,周五总结经验,周六、日休息和娱乐。

 1 <script type="text/JavaScript">
 2     var myweek =3;//myweek表示星期几变量
 3     switch(myweek){
 4         case 1:
 5         case 2:
 6         document.write("学习理念知识");
 7         break;
 8         case 3:
 9         case 4:
10         document.write("到企业实践");
11         break;
12         case 5:
13         document.write("总结经验");
14         break;
15         default:
16         document.write("周六、日休息和娱乐");
17     }
18 </script>

 

重复重复(for循环)
很多事情不只是做一次,要重复做。如打印10份试卷,每次打印一份,重复这个动作,直到打印完成。这些事情,我们使用循环语句来完成,循环语句,就是重复执行一段代码。
for语句结构:

1 for(初始化变量;循环条件;循环迭代)
2 { 
3     循环语句 
4 }

例子:假如,一个盒子里有6个球,我们每次取一个,重复从盒中取出球,直到球取完为止。

1 <script type="text/javascript">
2     var num=1;
3     for (num=1;num<=6;num++){ //初始化值;循环条件;循环后条件值更新
4         document.write("取出第"+num+"个球<br />");
5     }
6 </script>

我们有1,2,3...10不同面值的钱,使用for语句完成合计,看看我们一共有多少钱?

1 <script type="text/JavaScript">
2     var mymoney,sum=0;//mymoney变量存放不同面值,sum总计
3     for(mymoney=1;mymoney<=10;mymoney++){ 
4         sum= sum + mymoney;
5     }
6     document.write("sum合计:"+sum);
7 </script>

 

 

反反复复(while循环)
和for循环有相同功能的还有while循环, while循环重复执行一段代码,直到某个条件不再满足。
while语句结构:

1 while(判断条件)
2 {
3     循环语句
4 }

使用while循环,完成从盒子里取球的动作,每次取一个,共6个球。

1 <script type="text/javascript">
2     var num=0; //初始化值
3     while (num<=6){ //条件判断
4         document.write("取出第"+num+"个球<br />");
5         num=num+1; //条件值更新
6     }
7 </script>

 

来来回回(Do...while循环)
do while结构的基本原理和while结构是基本相同的,但是它保证循环体至少被执行一次。因为它是先执行代码,后判断条件,如果条件为真,继续循环。
do...while语句结构:

1 do
2 {
3     循环语句
4 }
5 while(判断条件)

试着输出5个数字。

1 <script type="text/javascript">
2     num= 1;
3     do{
4         document.write("数值为:" + num+"<br />");
5         num++; //更新条件
6     }
7     while (num<=5)
8 </script>

使用do...while语句,输出6个数字。

1 <script type="text/javascript">
2     var mynum =6;//mynum初值化数值为6
3     do{
4         document.write("数字:"+mynum+"<br/>");
5         mynum=mynum-1;
6     }
7     while(mynum>=1);
8 </script>

 

退出循环break
在while、for、do...while、while循环中使用break语句退出当前循环,直接执行后面的代码。
格式如下:

1 for(初始条件;判断条件;循环后条件值更新){
2     if(特殊情况)
3     {break;}
4     循环代码
5 }

考试成绩输出,如果成绩及格继续输出下个成绩,如果成绩不及格,退出并且后面成绩不输出.

 1 <script type="text/JavaScript">
 2     var mynum =new Array(70,80,66,90,50,100,89);//定义数组mynum并赋值
 3     var i=0;
 4     while(i<mynum.length){
 5         if(mynum[i]<60){
 6         document.write("成绩"+mynum[i]+"不及格,不用循环了"+"<br>");
 7         break;
 8         }
 9         document.write("成绩:"+mynum[i]+"及格,继续循环"+"<br>");
10         i=i+1;
11     }
12 </script>

 

 

继续循环continue
语句结构:

1 for(初始条件;判断条件;循环后条件值更新){
2     if(特殊情况){
3         continue;
4     }
5     循环代码
6 }

上面的循环中,当特殊情况发生的时候,本次循环将被跳过,而后续的循环则不会受到影响。
例子:考试成绩输出,如果成绩及格继续输出下个成绩,如果成绩不及格,则不输出该成绩。

 1 <script type="text/JavaScript">
 2     var mynum =new Array(70,80,66,90,50,100,89);//定义数组mynum并赋值
 3     var i;
 4     for(i=0;i<mynum.length;i++){
 5         if(mynum[i]<60){
 6             document.write("成绩不及格,不输出!"+"<br>");
 7             continue;
 8         }
 9         document.write("成绩:"+mynum[i]+"及格,输出!"+"<br>");
10     }
11 </script>

 

 

在一个大学的编程选修课班里,我们得到了一组参加该班级的学生数据,分别是姓名、性别、年龄和年级,接下来呢,我们要利用JavaScript的知识挑出其中所有是大一的女生的的名字哦。

学生信息如下:

    ('小A','女',21,'大一'),  ('小B','男',23,'大三'),

    ('小C','男',24,'大四'),  ('小D','女',21,'大一'),

    ('小E','女',22,'大四'),  ('小F','男',21,'大一'),

    ('小G','女',22,'大二'),  ('小H','女',20,'大三'),

    ('小I','女',20,'大一'),  ('小J','男',20,'大三')

 1 <script type="text/javascript">
 2     //第一步把之前的数据写成一个数组的形式,定义变量为 infos
 3     var infos = [
 4     ['小A','女',21,'大一'],
 5     ['小B','男',23,'大三'],
 6     ['小C','男',24,'大四'],
 7     ['小D','女',21,'大一'],
 8     ['小E','女',22,'大四'],
 9     ['小F','男',21,'大一'],
10     ['小G','女',22,'大二'],
11     ['小H','女',20,'大三'],
12     ['小I','女',20,'大一'],
13     ['小J','男',20,'大三']
14     ];
15     //第一次筛选,找出都是大一的信息
16     var arr1 = [];
17     var n = 0;
18     for(var i=0;i<infos.length;i++){ 
19         if( infos[i][3] == "大一" ){  
20              arr1[n] = infos[i];
21              document.write(arr1[n]+"<br/>");
22              n=n+1;
23         }  
24     }
25     document.write("大一人数: "+arr1.length+"<br/>");  
26     //第二次筛选,找出都是女生的信息
27     for(var i=0;i<arr1.length;i++){ 
28     //这里可以用switch  
29         if(arr1[i][1]=='女'){
30             document.write(arr1[i][0]+"<br/>");
31         }
32     }
33 </script>

 

 

循环语句和数组联起来搞得我是乱乱的

posted @ 2015-10-28 14:37  薯条_9  阅读(606)  评论(0编辑  收藏  举报