javascript之程序执行结构总结

程序执行结构一共分为三种:

1.顺序结构:是按照由上到下的顺序一行一行地执行程序结构。

2.分支结构:是根据不同的条件判断来决定程序执行走向的结构。

3.循环结构:是根据需要重复的执行相同的程序结构。

1.顺序结构

在代码执行过程中,是从上到下依次执行,按照它们出现的先后顺序来执行操作的。

var day01 = '今天我学习javascript';
var day02 = '明天我学习vue框架';
var day03 = '后天我学习uniapp框架';

//输出结果:今天我学习javascript明天我学习vue框架后天我学习uniapp框架
2.分支结构

1.if 结构,有三种形式

if(条件表达式){
    // 如果条件表达式的结果为true,就执行此处的代码,反之跳过
    // 如果 if 花括号中只有一句代码,则可以省略不写。
}
if(条件表达式) {
  // 如果条件表达式的结果为true,执行此处代码
}else{
  // 如果条件表达式的结果为false,执行此处代码
}
if(条件表达式1) {
  // 如果条件表达式1的结果为true,执行此处代码
}else if(条件表达式2){
  // 如果条件表达式2的结果为true,执行此处代码
}else {
  // 当以上条件都不满足时,执行此处代码
}

 注意:当if判断时,所有的数据类型都会被隐式转换为布尔类型。如果条件表达式的值为0、-0、null、“”、false、underfined或者NaN时,它的条件表达式的结果均为false。

3.swich-case 多项分支结构

使用场景:有多个确定值需要判断时。

注意:case有穿透效果,需要加上break语句。

alter语句特殊,他会自己阻断程序进程的。

switch(表达式){
	case 值1:
		语句块1
		break//防止穿透现象,遇到break直接跳出整个switch
	case 值n:
		语句块n
		break//防止穿透现象,遇到break直接跳出整个switch
	default:  //以上case都不满足,执行此处
		语句块n+1
}

实战:

1.判断输入一个三位数是否为水仙花数,例如153=1^3+5^3+3^3。

var num = Number(prompt('请输入一个三位数'))
// 取个位:被10除不尽的就是个位
var g = num % 10
// 取十位:先除以10,取整,再对10求余
var s = parseInt(num / 10) % 10
// 取百位:除以100取整
var b = parseInt(num / 100)

if (num === g*g*g + s*s*s + b*b*b) {
    console.log(num + '是水仙花数')
} else {
    console.log(num + '不是水仙花数')
}

2.判断用户输入的年份是否为闰年

var year = prompt('请输入年份');
if (year % 4 === 0 && year % 100 !== 0 || year % 400 === 0) {
    alert(year + '是闰年');
}else{
    alert(year + '是平年');
}

3.设计猜拳游戏

//1代表石头   2代表剪子   3代表布
//设计随机生成数,范围在1-3之间
//Math.random()的范围是[0,1)  *3的范围就是[0,3)
var num = parseInt(Math.random()*3) + 1
//在这输出一下,来验证一下范围是否正确
console.log(num)
//使用prompt函数弹出一个提示框,让用户输入数字,然后将输入的信息转为数字类型
var myNum = Number(prompt('输入1-3数字,1为石头,2为剪刀,3为布'))

//先判断一个人的数字是多少,
switch(num){
case 1:
    switch(myNum){
        case 1: 
            console.log("平局")
            break
        case 2: 
            console.log("输了")
            break
        case 3: 
            console.log("输了")
            break
    }
    break
case 2:
    switch(myNum){
        case 1: 
            console.log("赢了")
            break
        case 2: 
            console.log("平局")
            break
        case 3: 
            console.log("输了")
            break
    }
    break
case 3:
    switch(myNum){
        case 1: 
            console.log("赢了")
            break
        case 2: 
            console.log("赢了")
            break
        case 3: 
            console.log("平局")
            break
    }
    break
}
3.循环结构

1.while 循环

意思是当...时候,也就是说当满足条件的时候,我就执行,否则就不执行。

语法:

while(条件语句){
    //条件语句为ture,则执行,否则忽略
}

说明:

  • 循环变量的初始化:定义循环变量并赋初始值。
  • 判断进入循环的条件:当条件判断的结果是 true,进入循环执行程序。条件判断的结果是 false,终止循环,执行循环之后的程序。
  • 循环体:每次循环都要执行的程序代码。
  • 步长:每次循环,循环变量改变的数值。
    // 1. 初始化条件
    var num = 0;
    // 2. 条件判断
    
    while (num < 10,num++) {
      // 3. 要执行的代码
      console.log('当前的 num 的值是 ' + num);
      // 4. 自身改变
      num++
    }
    // 循环执行结束,才会执行之后的程序
    console.log( '结束' );
    

 2.for循环(先判断,再执行)

语法:

for(初始化语句;条件判断语句;条件控制语句){
    循环体语句;
}

说明:

初始化语句:设定循环起始状态

条件判断语句:判断循环是否继续执行。

循环体语句:循环反复在做的事情。

条件控制语句:表示循环中的变化内容。

注意:初始化定义在循环结束后失效,定义的变量等在循环外使用时需要重新定义。

// 冒泡排序
var arr = [3,23,11,54,20,11]
for(var i=0;i<arr.length-1;i++){
    for(var j=0;j<arr.length-1-i;j++){
        if(arr[j] > arr[j+1]){
            var tmp = arr[j]
            arr[j] = arr[j+1]
            arr[j+1] = tmp
        }
    }
}
console.log(arr)

重要:两两相比,外层循环n-1,内层循环n-1-i

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值