js--函数的三大结构
程序员文章站
2022-04-25 14:41:50
...
一、顺序结构
输入 | 0个或多个 |
输出 | 1个或多个 |
赋值 | = |
二、选择结构
1.if-else
单分支 |
if(判断条件){ } |
双分支 |
if(判断条件){ } else{ }
|
多分支 |
if(判断条件){ } else if(){ } else{ } |
2.switch-case
switch(判断条件){
case 表达式1:
代码;
break;
case 表达式2:
代码;
break;
case 表达式3:
代码;
break;
.......
default:代码
}
案例:用switch判断学生成绩的等级
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
.box{
width: 350px;
height: 300px;
background-color: deeppink;
margin: 100px auto;
line-height: 300px;
text-align: center;
}
</style>
</head>
<body>
<div class="box">
<!--type="search" type="text" 均可以输入,但是search更加友好,有一个删除按钮,用户可以点击这个按钮进行删除 -->
请输入您的分数:<input id='score' type="search" placeholder="1--100分">
</div>
<script>
/*
* 按照学生的分数划分等级:
* <60 等级:F
* 60-70 D
* 70-80 C
* 80-90 B
* 90-100 A
* */
/*
* 1.获取input结点 通过id名字去获取元素
* document.getElementById("id名字")
* 2.用户的输入值 表单元素的值 对象.value
* 事件函数: 鼠标事件, 单击 双击
* 键盘事件,按得那个键
* 表单 元素 聚焦 onfocus 离焦onblur
* 3.判断值到底是属于哪一个等级
* */
var stuInput=document.getElementById('score');
/*获取input控件里用户输入的值*/
/*离焦事件如果用户在文本框离焦了,就执行{}里面的内容*/
stuInput.οnblur=function(){
console.log(stuInput.value);
/*把获取回来的用户输入值转换为数值*/
var score=parseInt(stuInput.value);
/*Math.floor(4.5) 向下取整 4
* Math.round(4.5) 向上取整 5
* */
switch(Math.floor(score/10)){
case 10:
alert('满分 A');
break;
case 9:
alert('A');
break;
case 8:
alert('B');
break;
case 7:
alert('C');
break;
case 6:
alert('D');
break;
default :alert('不及格')
}
}
</script>
</body>
</html>
三、循环结构
循环 | 格式 | |||
for |
for(起始条件1;j结束条件2;步长3){ 循环条件4; } |
满足条件就执行循环体 1-->2-->4-->3-->2-->4-->3-->2-->4........... |
用于循环次数非常明确的时候 | |
while |
while(判断条件){ 循环体; } |
满足条件就执行循环体 | 用于循环次数不明确的时候 | 循环体可能一次都不执行 |
do while |
do{ 循环体;
}while(判断条件) |
满足条件就执行循环体 | 至少执行一次循环体 |
1.for循环
案例1:1--100的和
var sum=0;
for(var i=0;i<=100;i++){
sum+=i;
}
document.write(sum);
案例2:1--100的奇数和
var sum=0;
for(var i=0;i<=100;i++){
if(i%2==1){
sum+=i;
}
}
document.write(sum);
案例3:n!=n*(n-1)*(n-2)*.....*1
var mul=1;
var n=10;
for(var i=1;i<=n;i++){
mul*=i;
}
document.write(mul);
var arr=[12,567,34,76,98,45];
var key=88;
for(var i=0;i<arr.length;i++){
if(key==arr[i]){
console.log("查找成功!"+(i+1)+"位置");
}
}
if(i==arr.length){
console.log("查找失败!");
}
2.while循环
while(控制条件){
循环体;
}
var arr=[12,567,43,21,98,76,45,66];
var key=88;//用户要找的关键字
var i=0;
while(key!=arr[i]){
/*没找到*/
i++;
if(i==arr.length){
console.log('查找失败!');
break;
}
}
console.log('查找成功!在'+(i+1)+'位置');
3.do-while循环
4.循环嵌套
排序方法 | 时间复杂度 | 稳定性 | ||
冒泡排序 | N^2 | 稳定 | ||
快速排序 | Nlog2N | 不稳定 |
(1)冒泡排序
(2)快速排序
1
冒泡排序:
2
3
5