前端学习(二)-----Javascript(04流程与循环)

目录

var money=1200;
var price=prompt('商品单价');
var number=prompt('商品数量');
var totalprice=price*number;
if(totalprice>money){
	alert('您的余额不足!');
	alert('pay error');
}else if(totalprice<=money && totalprice>=1000){
	alert('您已享有满1000打九折的优惠,折后价为'+totalprice*0.9);
	alert('pay sucess');
}else{
	alert('您将消费:'+totalprice);
	alert('pay sucess');
}

一、流程控制

1.if语句

2.if-else语句

3.if-else嵌套

4.switch-case语句

二、循环

1.while循环

2.do-while循环

3.for循环

4.循环嵌套

拓展 


一、流程控制

        程序 = 数据 + 算法

        程序的执行方式:顺序执行、选择执行、循环执行

1.if语句

        if(条件表达式){

                语句块

        }                               //如果if后的大括号中的语句块只有一行语句,大括号可以省略

         以下数据数据转换为布尔型结果为false:  0   NaN   ''  undefined  null

2.if-else语句

        if(条件表达式){

                语句块1

        }else{

                语句块2

        }

3.if-else嵌套

        if(条件表达式){

                语句块1

        }else if(条件表达式n){

                语句块n

        }else{

                语句块n+1                   //之前的所有表达式都是false

        }

4.switch-case语句

        switch(表达式){

                case 值1:

                        语句块1;

                        break;              //结束执行,跳出switch-case语句

                case 值n:

                        语句块n;

                        break;

                default:

                        语句块n+1            //以上表达式和每个值比较都是false

                        

        }

//switch后的表达式在和case后的值比较的时候,只能进行全等于的比较

 对比switch-case和if-else嵌套

        if-else嵌套在比较的过程中,可以进行各种形式的比较,switch-case只能进行全等于的比较

        if-else适用范围更加广泛

        switch-case语法更加简洁,执行效率更高

//使用switch-case对一个人的成绩判断,不在0~100之间打印非法的成绩,否则判断
//提前处理成绩,缩小范围  分数/10,取整
//90~100     优秀   9.x 10   9 10
//80~90以下  良好   8.x   8
//70~80以下  中等   7.x   7
//60~70以下  及格   6.x   6
//其它  不及格
var score=62;
if(score>100 || score<0){
  console.log('非法的成绩');
}else{
  //0~100之间
  switch( parseInt(score/10) ){
    case 10:
	case 9:
	  console.log('优秀');
	  break;
	case 8:
	  console.log('良好');
	  break;
	case 7:
	  console.log('中等');
	  break;
	case 6:
	  console.log('及格');
	  break;
	default:
	  console.log('不及格');
  }
}

二、循环

        循环:一遍又一遍执行相同或者相似的内容

        循环的要素:循环条件(控制是否继续执行循环),循环体(要执行的相同或者相似的代码)

        break:用于循环体中,一旦执行就会强制结束循环

        continue:跳过某一次循环,还需继续执行下一次循环

1.while循环

        while(循环条件){

                循环体

        }

//循环打印20~11之间所有的整数
//初始值
var i=20;
while(i>=11){//循环条件
  //循环体
  console.log(i);
  //增量
  i--;
}

//计算1~100之间所有偶数的和
//循环产生所有整数
//判断是否为偶数
//求和
var i=1;
//声明变量,用于保存总和
var sum=0;
while(i<=100){
  //i代表所有的整数
  //判断i是否为偶数
  if(i%2===0){
    //i代表所有的偶数
	//求和
	sum=sum+i;
  }
  i++;
}
//循环结束后,打印最终的sum
console.log(sum);

 

2.do-while循环

        do{

                循环体

        }while(循环条件);

3.for循环

        for(初始值;循环条件;增量){

                循环体

        }

4.循环嵌套

        一个循环体的内部,又出现了其它的循环

        人因两个循环之间都可以相互嵌套

//九九乘法表------------------九九乘法表--------------------九九乘法表
for(var j=1;j<=9;j++){
	for(var i=1,str='';i<=j;i++){
	  //i代表所有的整数
	  //把每一个整数拼接到字符串中
	  str=str+i+'*'+j+'='+(i*j)+' ';  //''+1+'*5='  '1*5='
	  if((j===3 || j===4) && i===2){
		  str=str+' ';
	  }
	}
	console.log(str);
}

 

拓展 

var money=1200;
var price=prompt('商品单价');
var number=prompt('商品数量');
var totalprice=price*number;
if(totalprice>money){
	alert('您的余额不足!');
	alert('pay error');
}else if(totalprice<=money && totalprice>=1000){
	alert('您已享有满1000打九折的优惠,折后价为'+totalprice*0.9);
	alert('pay sucess');
}else{
	alert('您将消费:'+totalprice);
	alert('pay sucess');
}
//-----------------------这兔子好能生游戏---------------------
//https://wenku.baidu.com/view/af66e2f14afe04a1b071de42.html 
//P10
function fib1(n){
	var n1=1;
	var n2=1;
	//从第三项开始
	for(var i=3;i<=n;i++){
		var c=n2;
		n2=n1+n2;				//n2赋值C!!!!!!!
		n1=c;
	}
	return n2;
}
var he=fib1(3);
console.log(he);
//遍历数组,翻转
var arr=['a','b','c','d'];
var arr2=[];
for(var i=0;i<arr.length;i++){
	//console.log(arr.length-i-1);
	arr2[i]=arr[arr.length-i-1];
}
console.log(arr2);


//从小到大  冒泡
var a=[5,3,7,2,9];
for(var i=0;i<a.length-1;i++){
	//i  a.length   
	//0   5   4
	//1   5   3
	//2   5   2
	//3   5   1
	//内层循环:控制每一轮比较的次数
	for(var j=0;j<a.length-i-1;j++){
		if(a[j]>a[j+1]){
			var c=a[j];
			a[j]=a[j+1];
			a[j+1]=c;
		}
	}
}
console.log(a);
console.log(a.sort());
//假设一张纸的厚度0.0001米,计算折叠多少次能达到珠穆朗玛峰高度(8848米)
//循环体,执行折叠,每次折叠厚度乘以2,
//如果厚度小于8848
//声明变量,记录纸的厚度
var height=0.0001;
//声明变量,记录折叠的次数
var count=0;
do{
  //折叠:厚度在原来基础之上乘以2
  height*=2;
  //折叠一次打印厚度
  console.log(height);
  //记录一次
  count++;
}while(height<8848);
//循环结束后,打印记录的次数
console.log(count);

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值