流程控制语句与数组
流程控制语句
if条件判断语句
条件成立,执行什么代码;条件不成立,执行什么代码
结构一:只判断真(true),条件为假,什么也不做
if(条件判断:判断结果是一个布尔值)
{
条件为真(true),执行的代码
}
结构二:既判断真,也判断假
if(条件判断)
{
条件为真,执行的代码
}else
{
条件为假,执行的代码
}
结构三:多条件判断
if(条件1)
{
代码1;
}else if(条件2)
{
代码2;
}else if(条件3)
{
代码3;
}else
{
如果以上条件都不成立,则执行该代码;
}
注意:虽然有多个条件,但各条件之间是“或”的关系。每时每刻,只能有一个条件成立,不能同时满足多个条件。
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>php.cn</title>
<script>
//给一个成绩
var score=89;
//判断成绩所属级别
if(score<60){
document.write("对不起,没有及格");
}else if (score>=60&&score<70){
document.write("刚好及格");
}else if(score>=70&&score<80){
document.write("成绩良好");
}else if(score>=80&&score<90){
document.write("成绩优秀");
}else if(score>=90&&score<100){
document.write("试卷这么难,这样的成绩简直逆天");
}else{
document.write("对不起,你的成绩超出系统判断范围,请重新输入");
}
</script>
</head>
<body>
</body>
</html>
switch分支语句
描述:根据一个变量的不同取值,来执行不同的代码。
语法结构:
switch(变量)
{
case 值1:
代码1;
break;
case 值2:
代码2;
break;
case 值3:
代码3;
break;
default:
如果以上条件都不满足,则执行该代码;
}
switch结构说明:
- switch、case、break、default都是系统关键字,都必须全小写。
- switch后的小括号():小括号内一般是一个变量名,这个变量可能会有不同的取值。
- 每个case的值,与变量的值进行比对,如果一致就执行该case后的代码。
- 所有的case都是“或”的关系,每时每刻只有一个case会满足条件。
- 每个case中的代码执行完毕后,必须要用break语句结束,结束之后,程序将跳到switch结束大括号之后运行。
- 如果不写break语句的话,下面所有的case语句都会执行一遍。
看一个JavaScript里一个系统对象,Date对象
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>php.cn</title>
<script>
//实例:输出今天是星期几
/*
(1)创建一个日期时间对象,它中有很多的信息:时、分、秒、年、月、日、星期
(2)取出日期对象中的星期值
(3)根据星期值(0-6)来输出中文的星期几
*/
//(1)创建一个系统日期时间对象,其中Date()是系统函数,首字母大写
var today = new Date();
//(2)从Date对象中取出星期值
var week = today.getDay(); //返回0-6,0代表星期日
//(3)使用switch来输出今天是星期几
var str;
switch(week)
{
case 1:
str = "一";
break;
case 2:
str = "二";
break;
case 3:
str = "三";
break;
case 4:
str = "四";
break;
case 5:
str = "五";
break;
case 6:
str = "六";
break;
default:
str = "日";
}
//(4)输出结果
document.write("今天是星期"+str)
</script>
</head>
<body>
</body>
</html>
while循环
只要条件成立,就重复不断的执行循环体代码
while(条件判断)
{
如果条件为true,则执行循环体代码
}
while循环结构说明:
- 在循环开始前,必须要对变量初始化(声明变量,给变量给个初始值)。
- 如果while的条件为true,则会重复不断的执行循环体中({ })的代码。如果条件为false,则退出循环。
- 在循环体中,必须要有“变量更新”的语句。换句话说:两次循环的变量的值不能一样,如果一样,会造成“死循环”。
例子
输出1-10之间的所有数
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>php.cn</title>
<script>
var i = 1;
while(i<=10){
document.write(i);
i++ //变量更新,是为了避免出现“死循环”
}
</script>
</head>
<body>
</body>
</html>
循环语句必须有三要素,缺一不可:
- 变量初始化
- 条件判断
- 变量更新
输出1-100之间的所有奇数
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>php.cn</title>
<script>
//变量初始化
var i = 1;
//条件判断
while(i<=100){
//如果是奇数,则输出
if(!(i%2==0)){
document.write(i+" ");
}
//变量更新
i++;
}
</script>
</head>
<body>
</body>
</html>
for循环
格式:
for(变量初始化 ; 条件判断 ; 变量更新)
{
循环体代码;
}
实例:求100以内能被10整除的数字的和
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>php.cn</title>
<script>
var sum = 0;
for(var i=1;i<=100;i++){
if(i%10==0){
sum+=i;
}
}
document.write("100以内能被10整除的数之和为:"+sum)
</script>
</head>
<body>
</body>
</html>
break和continue的区别
break语句
- 描述:break语句,用于无条件结束各种循环(退出循环)和switch。
- 说明:一般情况下,需要在break语句之前加一个条件判断。换句话说:就是条件成立了,就退出循环。
continue语句
- 描述:结束本次循环,而开始下一次循环。continue之后的代码不再执行了。
- 说明:一般情况下,需要在continue语句之前加一个条件判断。
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>php.cn</title>
<script>
var sum = 0;
for(var i=1;i<=10;i++){
if(i==6){
break;
// continue;
}
document.write(i+" ");
}
</script>
</head>
<body>
</body>
</html>
注:先观察结果,然后将break注释掉,改用continue,再次观察结果,可以看出,条件满足时,break直接跳出循环,不再进行循环操作,而改用continue时,条件满足,跳出当次循环,进入下一次循环
数组
数组
数组的概念
一组数的集合,称为“数组”。
var arr = [1,2,3,4,5];
var arr = [“小明” , “男” , 20, “研究所” , “安徽省” , ];
数组元素
数组中的每个值,称为一个“数组元素”。
数组索引
- 数组中有多个值,每个值都有一个“编号”,通过“编号”可以访问到数组中的每个值。
- 数组中的“编号”又称“下标”或“索引号”。
- 数组中的“下标号”是从0开始的正整数。也就是说:第1个数组元素下标为0,第2个数组元素下标为1,第3个数组元素下标为2,依次类推。
- 第1个数组元素的下标一定是0,最后一个数组元素的下标是:长度-1。
- 使用数组的目的,就是使用循环遍历数组很方便。
数组元素的访问
var arr = [10,20,30,40,50];
arr = ["涛哥" , "男" , 24, "大专" , "北京科技大学" ];
访问的方法是:数组变量名,后跟一个中括号[],[]中括号内是数组元素的下标。如:arr[3]
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>php.cn</title>
<script>
var arr = ["涛哥" , "男" , 24, "大专" , "北京科技大学" ];
for(var i=0;i<5;i++){
document.write(arr[i]+"<br/>");
}
</script>
</head>
<body>
</body>
</html>
数组的长度
数组长度:就是指数组中元素的总个数。
数组的创建和操作
数组的创建方法
1、使用new关键字和Array()来创建数组
var arr = new Array(); //创建一个空数组
var arr = new Array(“周更生” , “男” , 30); //创建一个数组,并初始化数组的元素
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>php.cn</title>
<script>
//创建一个没有任何元素的数组
var arr = new Array();
//增加数组元素
arr[0] = "张三";
arr[1] = "男";
arr[2] = 25;
arr[3] = "安徽";
document.write(arr);
</script>
</head>
<body>
</body>
</html>
2、使用[ ]来创建
中括号[]中,使用英文下的逗号分隔多个值。
数组元素的值,可以是任何类型。如:字符型、数值型、布尔型、数组型、对象型、函数。
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>php.cn</title>
<script>
//使用[]方式创建一个数组
var arr = ["张三","男",25,"安徽"];
document.write(arr);
</script>
</head>
<body>
</body>
</html>
数组的操作
- 读取元素:读取已经存在下标的元素。如:var age = arr[2];
- 修改元素:修改已经存在下标的元素的值(重新赋值)。如:arr[2] = 26;
- 增加元素:添加一个不存在的下标的元素。
- 删除元素:使用关键字delete,只能删除元素的值,而下标还在。
数组对象属性length和二维数组
数组对象属性length
一个数组,其实就是一个“数组对象”。把数组看成“对象”,是为了使用数组对象的属性或方法。
在JS中,所有的内容都是“对象”。
那么,length就是数组对象的一个属性。如:var len = arrObj.length;
length属性,可以动态获取数组的长度。
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>php.cn</title>
<script>
var arr = ["涛哥" , "男" , 24, "大专" , "北京科技大学" ];
document.write(arr.length);
</script>
</head>
<body>
</body>
</html>
二维数组
给一个数组元素,赋一个数组的值,那么,这个数组就是“二维数组”。
创建一个简单的二维数组:
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>php.cn</title>
<script>
//使用[]方式创建一个数组
var arr = [
[1,2,3,4],
[4,5,6,7],
[8,9,10,11]
];
document.write(arr);
</script>
</head>
<body>
</body>
</html>
- 二维数组,就得用两层循环来实现。也就是说循环套循环。
- 二维数组的访问:数组名后跟多个连续的中括号[],第1个中括号[]代表第一维数组,第2个中括号[]代表第二维数组。
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>php.cn</title>
<script>
//使用[]方式创建一个数组
var arr = [
[1,2,3,4],
[4,5,6,7],
[8,9,10,11]
];
document.write(arr[1][1]);
</script>
</head>
<body>
</body>
</html>