JavaScript进阶 - 第4章 跟着我的节奏走(流程控制语句)

第4章 跟着我的节奏走(流程控制语句)

4-1 做判断(if语句)

if语句是基于条件成立才执行相应代码时使用的语句。

语法:

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

注意:if小写,大写字母(IF)会出错!

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

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

任务

请在右边编辑器的第7行,使用if语句补充代码,实现判断,是否购买笔,条件:只要笔是黑色(black),就购买。

?不会了怎么办

1.使用if语句判断

2.条件为mypen == "black"

代码:

 1 <!DOCTYPE HTML>
 2
 3 <html><head>
 4
 5 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 6
 7 <title>if语句</title>
 8
 9 <script type="text/JavaScript">
10
11 var mypen = "black"; //定义变量mypen,存储笔的黑色。
12
13  if(mypen=="black")
14
15 {
16
17 document.write("笔是黑色的,所以购买");
18
19 }
20
21 </script>
22
23 </head>
24
25 <body>
26
27 </body>
28
29 </html>

if 语句

4-2 二选一 (if...else语句)

if...else语句是在指定的条件成立时执行代码,在条件不成立时执行else后的代码。

语法:

if(条件)
{ 条件成立时执行的代码}
else
{条件不成立时执行的代码}

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

代码表示如下:

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

任务

今天去看电影,如果有票就可以看电影,没有票电影看不成。在右边编辑器的第8、12行补充代码,使用if...else进行判断。

?不会了怎么办

if语句()里填写判断条件

else执行条件不成立语句

代码:

 1 <!DOCTYPE HTML>
 2
 3 <html>
 4
 5 <head>
 6
 7 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 8
 9 <title>if...else</title>
10
11 <script type="text/JavaScript">
12
13 function myfunction(){
14
15 var ticket=document.getElementById("thedo").value;
16
17 if(ticket==true)
18
19 {
20
21 document.getElementById("show_results").innerHTML="有票,可以看电影。";
22
23 }else{
24
25 document.getElementById("show_results").innerHTML="没票,电影看不成。";
26
27 }
28
29 }
30
31 </script>
32
33 </head>
34
35 <body>
36
37 <select id="thedo" name="">
38
39 <option value="0">没有票</option>
40
41 <option value="1">有票</option>
42
43 </select>
44
45 <input type="submit" onclick="myfunction()" value="ok">
46
47 <p id="show_results"></p>
48
49 </body>
50
51 </html>

if...else

4-3 多重判断(if..else嵌套语句)

要在多组语句中选择一组来执行,使用if..else嵌套语句。

语法:

if(条件1)
{ 条件1成立时执行的代码}
else  if(条件2)
{ 条件2成立时执行的代码}
...
else  if(条件n)
{ 条件n成立时执行的代码}
else
{ 条件1、2至n不成立时执行的代码}

假设数学考试,小明考了86分,给他做个评价,60分以下的不及格,60(包含60分)-75分为良好,75(包含75分)-85分为很好,85(包含75分)-100优秀。

代码表示如下:

结果:

任务

联合国世界卫生组织对年龄的划分标准, 44岁以下为青年;45岁至59·岁为中年人。60岁至89岁为老年人;90岁以上为长寿老年人。赵红今年99岁了,他属于那个年龄阶段的。使用if...else嵌套语句进行判断。

?不会了怎么办

多条件判断else if

最后判断使用else

代码:

 1 <!DOCTYPE HTML>
 2
 3 <html>
 4
 5 <head>
 6
 7 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 8
 9 <title>if...else</title>
10
11 <script type="text/JavaScript">
12
13 var myage =99;//赵红的年龄为99
14
15 if(myage<=44)
16
17   {document.write("青年");}
18
19 else if(myage<=59)
20
21   {document.write("中年人");}
22
23 else if (myage<=89)
24
25   {document.write("老年人");}
26
27 else
28
29   {document.write("长寿老年人");}
30
31 </script>
32
33 </head>
34
35 <body>
36
37 </body>
38
39 </html>

if...else

4-4 多种选择(Switch语句)

当有很多种选项的时候,switch比if else使用更方便。

语法:

switch(表达式)
{
case1:
  执行代码块 1
  break;
case2:
  执行代码块 2
  break;
...
casen:
  执行代码块 n
  break;
default:
  与 case值1 、 case值2...case值n 不同时执行的代码
}

语法说明:

Switch必须赋初始值,值与每个case值匹配。满足执行该 case 后的所有语句,并用break语句来阻止运行下一个case。

假设评价学生的考试成绩,10分满分制,我们按照每一分一个等级将成绩分等,并根据成绩的等级做出不同的评价。

代码如下:

执行结果:

评语: 及格,加油!

注意:记得在case所执行的语句后添加上一个break语句。否则就直接继续执行下面的case中的语句,看以下代码:

执行结果:

评语: 继续努力!
评语: 及格,加油!
评语: 凑合,奋进
评语: 很棒,很棒
评语: 高手,大牛

在上面的代码中,没有break停止语句,如果成绩是4分,则case 5后面的语句将会得到执行,同样,case6、7-10后面的语句都会得到执行。

任务

我们来做个周计划,周一、二学习理念知识,周三、四到企业实践,周五总结经验,周六、日休息和娱乐。请根据星期几做出选择,使用Switch语句完成,补充右边代码编辑器中第8、20、21行代码,完成星期几的判断。

?不会了怎么办

使用switch进行选择

case进行条件匹配

break 结束当前 case中的语句

代码:

 1 <!DOCTYPE HTML>
 2
 3 <html>
 4
 5 <head>
 6
 7 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 8
 9 <title>switch</title>
10
11 <script type="text/JavaScript">
12
13 var myweek = 4;//myweek表示星期几变量
14
15 switch(myweek)
16
17 {
18
19  case 1:
20
21  case 2:
22
23  document.write("学习理念知识");
24
25  break;
26
27  case 3:
28
29  case 4:
30
31  document.write("到企业实践");
32
33  break;
34
35  case 5:
36
37  document.write("总结经验");
38
39  break;
40
41  default:
42
43  document.write("周六、日休息和娱乐");
44
45 }
46
47 </script>
48
49 </head>
50
51 <body>
52
53 </body>
54
55 </html>

switch

4-5 重复重复(for循环)

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

for语句结构:

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

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

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

结果:

执行思路:

任务

我们有1,2,3...10不同面值的钱,使用for语句完成合计,看看我们一共有多少钱,请补充第8行代码,实现该功能。

?不会了怎么办

for语句,缺少"循环条件",mymeny<=10

for(mymeny=1;mymeny<=10;mymeny++)

代码:

 1 <!DOCTYPE HTML>
 2
 3 <html>
 4
 5 <head>
 6
 7 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 8
 9 <title>if...else</title>
10
11 <script type="text/JavaScript">
12
13 var mymeny,sum=0;//mymeny变量存放不同面值,sum总计
14
15 for(mymeny=1;mymeny<=10;mymeny++)
16
17 {
18
19
20
21   sum= sum + mymeny;
22
23 }
24
25   document.write("sum合计:"+sum);
26
27 </script>
28
29 </head>
30
31 <body>
32
33 </body>
34
35 </html>

if...else

4-6 反反复复(while循环)

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

while语句结构:

while(判断条件)
{
    循环语句
 }

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

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

任务

我们使用while语句,输出5个数字。补充第8行代码。

?不会了怎么办

while(mynum<=5)或while(mynum<6)

代码:

 1 <!DOCTYPE HTML>
 2
 3 <html>
 4
 5 <head>
 6
 7 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 8
 9 <title>while</title>
10
11 <script type="text/javascript">
12
13   var mynum =1;//mynum初值化数值为1
14
15   while (mynum<=5)
16
17   {
18
19          document.write("数字:"+mynum+"<br/>");
20
21     mynum=mynum+1;
22
23    }
24
25 </script>
26
27 </head>
28
29 <body>
30
31 </body>
32
33 </html>

while

4-7 来来回回(Do...while循环)

do while结构的基本原理和while结构是基本相同的,但是它保证循环体至少被执行一次。因为它是先执行代码,后判断条件。

do...while语句结构:

do
{
    循环语句
 }
while(判断条件)

我们试着输出5个数字。

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

执行结果:

为什么呢?我们来看下执行思路:

任务

我们使用do...while语句,输出6个数字。补充第8行和13行代码。

?不会了怎么办

do...while语句,因为至少被执行一次,所以要注意循环条件。

代码:

 1 <!DOCTYPE HTML>
 2
 3 <html>
 4
 5 <head>
 6
 7 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 8
 9 <title>do...while</title>
10
11 <script type="text/javascript">
12
13    var mynum =6;//mynum初值化数值为6
14
15          do
16
17          {
18
19          document.write("数字:"+mynum+"<br/>");
20
21          mynum=mynum-1;
22
23          }
24
25          while(mynum<=6 && mynum>=1)
26
27          </script>
28
29 </head>
30
31 <body>
32
33 </body>
34
35 </html>

do...while

4-8 退出循环break

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

格式如下:

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

当遇到特殊情况的时候,循环就会立即结束。看看下面的例子,输出10个数,如果数值为5,就停止输出。

执行结果:

注:当num=5的时候循环就会结束,不会输出后面循环的内容。

任务

考试成绩输出,如果成绩及格继续输出下个成绩,如果成绩不及格,退出并且后面成绩不输出, 我们使用break语句,退出循环。

?不会了怎么办

break语句,退出循环。

代码:

 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 2
 3 <html xmlns="http://www.w3.org/1999/xhtml">
 4
 5 <head>
 6
 7 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 8
 9 <title>break</title>
10
11 <script type="text/JavaScript">
12
13 var mynum =new Array(70,80,66,90,50,100,89);//定义数组mynum并赋值
14
15 var i=0;
16
17 while(i<mynum.length)
18
19 {
20
21   if(mynum[i]<60)
22
23    {
24
25     document.write("成绩"+mynum[i]+"不及格,不用循环了"+"<br>");
26
27     break;
28
29    }
30
31   document.write("成绩:"+mynum[i]+"及格,继续循环"+"<br>");
32
33   i=i+1;
34
35
36
37 }
38
39 </script>
40
41 </head>
42
43 <body>
44
45 </body>
46
47 </html>

break

4-9 继续循环continue

continue的作用是仅仅跳过本次循环,而整个循环体继续执行。

语句结构:

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

上面的循环中,当特殊情况发生的时候,本次循环将被跳过,而后续的循环则不会受到影响。好比输出10个数字,如果数字为5就不输出了。

执行结果:

注:上面的代码中,num=5的那次循环将被跳过。

任务

考试成绩输出,如果成绩及格继续输出下个成绩,如果成绩不及格,则不输出该成绩,我们使用continue语句完成,补充第14行代码。

?不会了怎么办

continue语句,退出本次循环,继续执行后面的循环。

代码:

 1 <!DOCTYPE HTML>
 2
 3 <html>
 4
 5 <head>
 6
 7 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 8
 9 <title>continue</title>
10
11 <script type="text/JavaScript">
12
13  var mynum =new Array(70,80,66,90,50,100,89);//定义数组mynum并赋值
14
15  var i;
16
17  for(i=0;i<mynum.length;i++)
18
19  {
20
21        if(mynum[i]<60)
22
23     {
24
25          document.write("成绩不及格,不输出!"+"<br>");
26
27     continue;
28
29          }
30
31          document.write("成绩:"+mynum[i]+"及格,输出!"+"<br>");
32
33 }
34
35 </script>
36
37 </head>
38
39 <body>
40
41 </body>
42
43 </html>

continue

4-10 编程练习

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

学生信息如下:

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

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

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

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

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

任务

第一步: 把这些数据组成一个数组,方便我们之后操作哦。

提示: 使用二维数组。

第二步: 筛选数据吧,首先找出都是大一的所有信息 ;

第三步: 最后再一次筛选上一步得到的数据,打印出都是女生的姓名 ;

提示: 可以用switch 或 if 语句进行筛选。

?不会了怎么办

代码:

 1 <!DOCTYPE  HTML>
 2
 3 <html >
 4
 5 <head>
 6
 7 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 8
 9 <title></title>
10
11 <script type="text/javascript">
12
13 var infos = [
14
15     [‘小A‘,‘女‘,21,‘大一‘],
16
17          [‘小B‘,‘男‘,23,‘大三‘],
18
19          [‘小C‘,‘男‘,24,‘大四‘],
20
21          [‘小C‘,‘男‘,24,‘大四‘],
22
23          [‘小D‘,‘女‘,21,‘大一‘],
24
25          [‘小E‘,‘女‘,22,‘大四‘],
26
27          [‘小F‘,‘男‘,21,‘大一‘],
28
29          [‘小G‘,‘女‘,22,‘大二‘],
30
31          [‘小H‘,‘女‘,20,‘大三‘],
32
33          [‘小I‘,‘女‘,20,‘大一‘],
34
35          [‘小J‘,‘男‘,20,‘大三‘]
36
37 ];
38
39 for(var i = 0; i < infos.length; i++) {
40
41          if(infos[i][3] === "大一" && infos[i][1] === "女") {
42
43                    document.write(infos[i][0] + "<br />");
44
45          }
46
47 }
48
49 </script>
50
51 </head>
52
53 <body>
54
55 </body>
56
57 </html>

4-10编程练习

时间: 2024-08-05 11:08:21

JavaScript进阶 - 第4章 跟着我的节奏走(流程控制语句)的相关文章

慕课网javascript 进阶篇 第九章 编程练习

把平常撸的码来博客上再撸一遍既可以加深理解,又可以理清思维.还是很纯很纯的小白,各位看官老爷们,不要嫌弃.最近都是晚睡,昨晚也不例外,两点多睡的.故,八点起来的人不是很舒服,脑袋有点晕呼呼,鉴于昨晚看到了这章的编程练习,想着自己DOM编程艺术也差不多看完了,高级3也看了点,所打算开始多敲代码了. 谁知,看着编辑器一脸懵逼,不知道如何啃下这块骨头,米思绪,写着也没什么感觉,索性就不写了,这不下午才来撸它. 要求如下: <!DOCTYPE html> <html> <head&g

JavaScript进阶 - 第8章 浏览器对象

第8章 浏览器对象 8-1 window对象 window对象是BOM的核心,window对象指当前的浏览器窗口. window对象方法: 注意:在JavaScript基础篇中,已讲解了部分属性,window对象重点讲解计时器. 任务 在右边编辑器script标签内补充代码,弹出对话框"欢迎来到慕课网". 定义一个函数,实现打开一个网页,宽为600,高为400. 当点击"点击我,打开新窗口"按钮时,在打开网页. 如果忘记了,可以查看JavaScript基础篇. 代码

JavaScript进阶 - 第7章 JavaScript内置对象

第7章 JavaScript内置对象 7-1 什么是对象 JavaScript 中的所有事物都是对象,如:字符串.数值.数组.函数等,每个对象带有属性和方法. 对象的属性:反映该对象某些特定的性质的,如:字符串的长度.图像的长宽等: 对象的方法:能够在对象上执行的动作.例如,表单的“提交”(Submit),时间的“获取”(getYear)等: JavaScript 提供多个内建对象,比如 String.Date.Array 等等,使用对象前先定义,如下使用数组对象:   var objectNa

JavaScript进阶 - 第2章 你要懂的规则(JS基础语法)

第2章 你要懂的规则(JS基础语法) 2-1什么是变量 什么是变量? 从字面上看,变量是可变的量:从编程角度讲,变量是用于存储某种/某些数值的存储器.我们可以把变量看做一个盒子,盒子用来存放物品,物品可以是衣服.玩具.水果...等. 2-2 给变量取个名字(变量命名) 我们为了区分盒子,可以用BOX1,BOX2等名称代表不同盒子,BOX1就是盒子的名字(也就是变量的名字). 我们赶快给变量取个好名字吧!变量名字可以任意取,只不过取名字要遵循一些规则: 1.必须以字母.下划线或美元符号开头,后面可

JavaScript进阶 - 第3章 一起组团(数组)

第3章 一起组团(数组) 3-1 一起组团(什么是数组) 我们知道变量用来存储数据,一个变量只能存储一个内容.假设你想存储10个人的姓名或者存储20个人的数学成绩,就需要10个或20个变量来存储,如果需要存储更多数据,那就会变的更麻烦.我们用数组解决问题,一个数组变量可以存放多个数据.好比一个团,团里有很多人,如下我们使用数组存储5个学生成绩. 数组是一个值的集合,每个值都有一个索引号,从0开始,每个索引都有一个相应的值,根据需要添加更多数值. 任务 编辑器中定义数组myarr,并赋值3个学生的

JavaScript进阶 - 第6章 事件响应,让网页交互

6-1什么是事件 JavaScript 创建动态页面.事件是可以被 JavaScript 侦测到的行为. 网页中的每个元素都可以产生某些可以触发 JavaScript 函数或程序的事件. 比如说,当用户单击按钮或者提交表单数据时,就发生一个鼠标单击(onclick)事件,需要浏览器做出处理,返回给用户一个结果. 主要事件表: 6-2鼠标单击事件( onclick ) onclick是鼠标单击事件,当在网页上单击鼠标时,就会发生该事件.同时onclick事件调用的程序块就会被执行,通常与按钮一起使

JavaScript进阶 - 第5章 小程序,大作用(函数)

5-1什么是函数 函数的作用,可以写一次代码,然后反复地重用这个代码. 如:我们要完成多组数和的功能. var sum;   sum = 3+2; alert(sum);   sum=7+8 ; alert(sum);   ....  //不停重复两行代码 如果要实现8组数的和,就需要16行代码,实现的越多,代码行也就越多.所以我们可以把完成特定功能的代码块放到一个函数里,直接调用这个函数,就省去重复输入大量代码的麻烦. 使用函数完成: function add2(a,b){ sum = a +

JavaScript进阶 - 第10章 编程挑战

10-1 编程挑战 现在利用之前我们学过的JavaScript知识,实现选项卡切换的效果. 效果图: 文字素材: 房产: 275万购昌平邻铁三居 总价20万买一居     200万内购五环三居 140万安家东三环     北京首现零首付楼盘 53万购东5环50平     京楼盘直降5000 中信府 公园楼王现房 家居: 40平出租屋大改造 美少女的混搭小窝      经典清新简欧爱家 90平老房焕发新生      新中式的酷色温情 66平撞色活泼家居      瓷砖就像选好老婆 卫生间烟道的设计

JavaScript 进阶篇的学习~

---恢复内容开始--- 让你认识JS 你知道吗,Web前端开发师需要掌握什么技术?也许你已经了解HTML标记(也称为结构),知道了CSS样式(也称为表示),会使用HTML+CSS创建一个漂亮的页面,但这还不够,它只是静态页面而已.我们还需使用JavaScript增加行为,为网页添加动态效果.准备好,让JavaScript带你进入新境界吧! JavaScript能做什么? 1.增强页面动态效果(如:下拉菜单.图片轮播.信息滚动等) 2.实现页面与用户之间的实时.动态交互(如:用户注册.登陆验证等