主要内容:
1、流程控制条件语句和switch语句
2、for循环和while循环
3、Break语句和Continue语句
4、数组和数组常用方法
5、函数
6、对象
一、流程控制条件语句和switch语句
1、条件语句(用于基于不同的条件来执行不同的动作)
if 语句 - 只有当指定条件为 true 时,使用该语句来执行代码
if...else 语句 - 当条件为 true 时执行代码,当条件为 false 时执行其他代码
if...else if....else 语句- 使用该语句来选择多个代码块之一来执行
switch 语句 - 使用该语句来选择多个代码块之一来执行
(1)if语句
只有当指定条件为 true 时,该语句才会执行代码。
语法如下:
if (condition)
{
当条件为 true 时执行的代码
}
注意:请使用小写的 if。使用大写字母(IF)会生成 JavaScript 错误!
实例:
// 当年龄小于18岁时,禁止入内!
if(age<18)
{
alert("你未满18周岁,不得入内!");
}
(2)if...else 语句
使用 if....else 语句在条件为 true 时执行代码,在条件为 false 时执行其他代码。
语法:
if (condition)
{
当条件为 true 时执行的代码
}
else
{
当条件不为 true 时执行的代码
}
实例:
//当年龄小于18岁时,打印“禁止入内!”,否则,打印“允许入内!”
if(age<18)
{
alert("禁止入内!");
}
else
{
alert("允许入内!");
}
(3)if...else if...else语句
使用if...else if...else语句来选择多个代码块之一来执行。
语法:
if (condition1)
{
当条件 1 为 true 时执行的代码
}
else if (condition2)
{
当条件 2 为 true 时执行的代码
}
else
{
当条件 1 和 条件 2 都不为 true 时执行的代码
}
实例:
// 如果年龄小于18岁,打印“未成年人!”;年龄大于18,小于40岁,打印“青年人!”;否则打印“中老年人!”
if(age<18)
{
document.write("<b>未成年人!</b>")
}
else if(age>=18 && age<=40)
{
document.write("<b>青年人!</b>");
}
else
{
document.write("<b>中老年人!</b>");
}
2、switch语句(switch 语句用于基于不同的条件来执行不同的动作)
使用 switch 语句来选择要执行的多个代码块之一。
语法:
switch(n) { case 1: 执行代码块 1 break; case 2: 执行代码块 2 break; default: 执行与case 1和case 2 不同时的代码 }
工作原理:首先设置表达式 n(通常是一个变量)。随后表达式的值会与结构中的每个 case 的值做比较。如果存在匹配,则与该 case 关联的代码块会被执行。
注意记得使用 break 来阻止代码自动地向下一个 case 运行。
实例:
//显示今天的星期名称。请注意 Sunday=0, Monday=1, Tuesday=2, 等等:
var d=new Date().getDay();
switch (d)
{
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("哈哈!今天是周末(^-^)")
}
default关键词( default 关键词来规定匹配不存在时做的事情)
实例:
//如果今天不是星期六或星期日,则会输出默认的消息:
var d=new Date().getDay();
switch (d)
{
case 6:x="今天是星期六";
break;
case 0:x="今天是星期日";
break;
default:
x="期待周末";
}
document.getElementById("demo").innerHTML=x;
几种特殊情况:
(1)当两种情况相同时,switch 语句的使用,当两种情况相同时,可以只在第二种情况中写要执行的代码。
案例如下:
//测试 switch语句,当 两种情况相同时,比如下面的10或者11,都会走 alert("10或者11") 这里
function testSwich() {
var number = document.getElementById("test").value;
number=parseInt(number);
switch (number){
case 1: alert(1);
break;
case 10:
case 11:alert("10或者11"); //number = 10 或者 = 11执行相同的操作
break;
default :alert("既不是1,10,11");
}
}
(2)忘记写 break 时的情况。当忘记写 break 时,代码将会执行后面所有 case 分支里面的代码,前面的 case 会跳过。
案例如下:
// 测试不使用break跳出循环
function testSwichNotBreak() {
var number = document.getElementById("test").value;
number=parseInt(number);
switch (number){
case 1: document.write(number);
case 2: document.write(number)
case 3:document.write(number);
case 4:document.write(number);
case 5:document.write(number);
default :document.write(number);
}
}