JavaScript基础
31. switch练习
练习:对于成绩大于60分的,输出合格,低于60分的,输出不合格
var score = 61;
switch(true){
case score >= 60:
console.log("合格");
break;
default:
console.log("不合格");
break;
}
32. while循环
循环语句:
通过循环语句可以反复执行一段代码多次
while循环:
语法:
While(条件表达式){
语句
}
执行流程:
while语句在执行时,先对条件表达式进行判断,如果值为true,则执行循环体,循环体执行完毕后继续对表达式进行判断,如果仍为true,则继续执行循环体,以此类推,直到值为false,则终止循环
条件表达式写死为true的循环,叫做死循环
该循环不会停止,除非浏览器关闭,死循环在开发中慎用
可以使用break来终止循环
创建一个while循环,往往只需要三个步骤
- 初始化一个变量
- 在循环中设置一个条件表达式
- 定义一个更新表达式,每次更新初始化变量
do-while循环:
语法:
do{
语句
}while(条件表达式)
执行流程:
do-while语句在执行时,会先执行循环体,循环体执行完毕后,再对while后的条件表达式进行判断,如果为true则继续执行循环体,执行完毕继续判断以此类推,当结果为false则终止循环
实际上while和do-while功能类似,不同的是while是先判断后执行,而do-while是先执行后判断,即循环体至少执行一次
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script>
var i = 1;
while(i<=10){
document.write(i++ +"<br />");
}
// do{
// document.write(i++ +"<br />");
// }while(i<=10);
</script>
</head>
<body>
</body>
</html>
33. while的练习
练习:假如投资的年利率为5%,试求从1000增长到5000块,需要花费多少年
var money = 1000;
var count = 0;
while(money < 5000){
money *= 1.05;
count ++;
}
console.log("需要"+count+"年");
34. for循环
在for循环中,提供了三个位置来放表达式:
- 初始化表达式
- 条件表达式
- 更新表达式
for循环语法:
for(①初始化表达式;条件表达式;更新表达式){
语句
}
for循环的执行流程:
① 初始化表达式初始化变量(更新表达式只执行一次)
② 执行条件表达式,判断是否执行循环
a) 为true则执行循环③
b) 为false则终止循环
③ 执行更新表达式,更新表达式执行完毕继续重复②
for循环的三个部分都可以省略,也可以写在外部
如果在for循环中不写任何的表达式,可以只写两个;
此时循环是一个死循环会一直执行下去,要慎用,如:
for(;;){
alert(“hello”)
}
//打印1-100之间的数
for(var i=1, sum=0;i<=100;i++){
if(i%2!=0){
console.log(i);
sum += i;
}
}
console.log(sum);
练习:打印水仙花数
for(var i=100;i<1000;i++){
var bai = parseInt(i/100);
var shi = parseInt((i-bai*100)/10);
var ge = i%10;
if(bai*bai*bai + shi*shi*shi + ge*ge*ge == i){
console.log(i);
}
}
35. 质数练习
练习:在页面中接收一个用户输入的数字,并判断该数是否是质数
质数:只能被1和它自身整除的数,1不是质数也不是合数,质数为大于1的自然数
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script>
var num = prompt("请输入一个大于1的整数");
var flag = true;
if(num <= 1){
console.log("该值不合法");
}
else{
for(var i=2;i<num;i++){
if(num % i == 0){
flag = false;
}
}
if(flag){
console.log(num+"是质数");
}else{
console.log(num+"不是质数");
}
}
</script>
</head>
<body>
</body>
</html>
36. 嵌套的for循环
问题:通过一个for循环来输出正三角图形
外部循环控制图形的高度,内部循环控制图形的宽度
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script>
for(var i=0;i<5;i++){
for(var j=0;j<i+1;j++){
document.write("* ");
}
document.write("<br />");
}
</script>
</head>
<body>
</body>
</html>
37. 嵌套for循环练习(一)
练习:通过一个for循环来输出倒三角图形
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script>
for(var i=0;i<5;i++){
for(var j=5;j>i;j--){
document.write("* ");
}
document.write("<br />");
}
</script>
</head>
<body>
</body>
</html
38. 嵌套for循环练习(二)
练习1:打印九九乘法表
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
body{
width: 2000px;
}
span{
display: inline-block;
width: 80px;
}
</style>
<script>
for(var i=1;i<=9;i++){
for(var j=1;j<=i;j++){
document.write("<span>"+j+"*"+i+"="+i*j+"</span>");
}
document.write("<br />");
}
</script>
</head>
<body>
</body>
</html>
练习2:打印出1-100内的所有质数
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script>
for(var i=2;i<=100;i++){
var flag = true;
for(var j=2;j<i;j++){
if(i%j==0){
flag = false;
}
}
if(flag){
document.write(i+"<br />");
}
}
</script>
</head>
<body>
</body>
</html>
39. break和continue
break关键字可以用来退出switch或循环语句
不能在if语句中使用break和continue
break关键字,会立即终止离它最近的那个循环语句(终止此次循环)
continue关键字,会立即终止离它最近的循环语句(终止本次循环)
可以为循环语句创建一个标签,来标识当前循环,使得break/continune可以结束指定标签的循环
break中标签的使用:
outer:for(var i = 0;i<=5;i++){
console.log("外循环"+i);
for(var j=0;j<=5;j++){
console.log("内循环"+j);
break outer;
}
}
continue中标签的使用:
outer:for(var i = 0;i<=5;i++){
console.log("外循环"+i);
for(var j=0;j<=5;j++){
console.log("内循环"+j);
continue outer;
}
}
40. 质数练习的改进
console.time(“计时器名字”):来开启一个指定名字的计时器
console.timeEnd(“计时器名字”):来结束一个指定名字的计时器
Math.sqrt( ):传入一个数字作为参数,返回该数字的开方数
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script>
console.time("clock");
for(var i=2;i<=100;i++){
var flag = true;
for(var j=2;j<=Math.sqrt(i);j++){
if(i%j==0){
flag = false;
break;
}
}
if(flag){
document.write(i+"<br />");
}
}
console.timeEnd("clock");
</script>
</head>
<body>
</body>
</html>
下一章节将对JS中对象和函数进行简单介绍,最最最精彩的部分来啦!
快来瞧瞧这是你对象不~