JavaScript 语句 和函数
条件判断语句
简单if语句
if(条件表达式){
语句块1
}
语句块2
如果条件表达式计算结果为TRUE,则程序会先执行{}内的语块1在执行语块2。
如果结果为false则跳过语块1直接执行语块2
示例1
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>小明成年了吗?判断年龄</title>
</head>
<body>
<script type="text/javascript">
var age = prompt("请输入你的年龄")
if (age>=18) {
alert("你已经成年,可以使用该软件")
} else{
alert("你还未成年,不能使用该软件!")
}
</script>
</body>
</html>
if-else 语句
if-else语句格式如下
if(条件表达式)
{
语块1
}else
{
语块2
}
if-else 语句是条件分支语句
如果条件表达式输出true则运行语块1,反之则运行语块2
下面是一个多重if-else的套用
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>小明的不归路</title>
</head>
<body>
<script type="text/javascript">
var bonusMoney= prompt("请输入小明的奖金")
if(bonusMoney>=20000){
alert("上个屁班,三亚旅游去喽!")
}else if(bonusMoney==10000){
alert("也别想着去三亚了,省内溜一圈把!")
}else if( bonusMoney == 5000){
alert("终于发奖金了买件新衣服下个月再发的话出去旅游去")
}else if(bonusMoney==0){
alert("******这*班今天就上到这吧,明天换公司!老子不在这干了!!!")
}
</script>
</body>
</html>
switch case 语句与 if else 语句的多分支结构类似
switch 语句根据表达式的值,依次与 case 子句中的值进行比较:
如果两者相等,则执行其后的语句段,当遇到 break 关键字时则跳出整个 switch 语句。
如果不相等,则继续匹配下一个 case。
switch 语句是逐行执行的,当 switch 语句找到一个与之匹配的 case 子句时,不仅会执行该子句对应的代码,还会继续向后执行,直至 switch 语句结束。为了防止这种情况产生,需要在每个 case 子句的末尾使用 break 来跳出 switch 语句
switch 语句包含一个可选的 default 关键字,如果在前面的 case 中没有找到相等的条件,则执行 default 后面的语句段
原理图:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>小明的拼夕夕</title>
</head>
<body>
<script type="text/javascript">
var leave = prompt("请输入1-6判断购买商品状态")
switch (leave) {
case "1":
console.log("未付款")
break;
case "2":
console.log("已付款")
break;
case "3":
console.log("待发货 ")
break;
case "4":
console.log("已发货 ")
break;
case "5":
console.log("运输中")
break;
case "6":
console.log("已签收")
break;
default:
console.log("未知状态")
break;
}
</script>
</body>
</html>
while 循环语法,
while 循环在每次循环之前,会先对条件表达式进行求值,如果条件表达式的结果为 true,则执行 { } 中的代码,如果条件表达式的结果为 false,则退出 while 循环,执行 while 循环之后的代码。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body><script type="text/javascript">
var i = 1;
while( i <= 5) {
document.write(i+", ");
i++;
}
</script>
</body>
</html>
小案例 使用 while 循环计算 1~100 之间所有整数的和:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body><script type="text/javascript">
var i=1;
var sum=0;
while (i <= 100){
sum += i;
i++;
}
document.write( sum)
</script>
</body>
</html>
do while 循环语法
do while 循环与 while 循环非常相似,不同之处在于,do while 循环会先执行循环中的代码,然后再对条件表达式进行判断。因此,无论条件表达式是真还是假,do while 循环都能至少执行一次,而 while 循环就不行了,如果条件表达式为假会直接退出 while 循环。
do while 循环与 while 循环还有一点不同,那就是 do while 循环的末尾需要使用分号; 进行结尾,而 while 循环则不需要。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body><script type="text/javascript">
var i=0;
do{
var user=prompt("请输入你的用户名")
if(user!="123456"){
alert("用户名错误")
i++
if(i==3){
alert("用户名错误三次已被锁定")}
}else{
alert("登录成功")
break;
}
}
while(i<3)
</script>
</body>
</html>