• 第2天:JavaScript基础(运算符、案例、循环、冒泡以及prompt提示输入框)


    一元运算在前在后的区别

          加加

        var num1 = 10;
        //++在后面 先参与运算 再自加1
        var sum1 = num1++ +10;
        console.log("sum1的值:"+sum1);//20
        console.log("num1的值:"+num1);//11

    var num2 = 10;
    var sum2 = ++num2 + 10;
    //++在前面 先自身加1 再参与运算
    console.log("sum2的值:"+sum2)//21
      console.log("num2的值:"+num2)//11

    减减

    var num1 = 10;
        //--在后面 先参与运算 再自减1 
        var sum1 = num1-- +10;
        console.log("sum1的值:"+sum1);//20
        console.log("num1的值:"+num1);//9
        var num2 = 10;
        //--在前面 先减1 再参与运算
        var sum2 = --num2 + 10;
        console.log("sum2的值:"+sum2);//19
        console.log("num2的值"+num2);//9

    判断是否闰年

     //普通闰年:能被4整除但不能被100整除的年份为普通闰年。(如2004年就是闰年,1999年不是闰年);
    //世纪闰年:能被400整除的为世纪闰年。(如2000年是闰年,1900年不是闰年);
       var year = 2000;
        if(year%4==0&&year%100!=0||year%400==0){
            console.log("闰年")
        }
        else{
            console.log("平年")
        }

    计算利率

      //存入银行本金10000,年利率是千分之三,
        //将本金和利息相加做新的本金,计算5年后
        //获得的本金是多少
        var money = 10000;//本金
        var rate =0.003//千分之三
        for(var i=0;i<5;i++){
            //money=money+money*rate;
            money+=money*rate;
        }
        //parseInt()取整
        console.log(parseInt(money

    斐波那契数列

      // 有个人想知道,一年之内一对兔子能繁殖多少对?于是就筑了
        // 一道围墙把一对兔子关在里面。已知一对兔子每个月可以生一
        // 对小兔子,而一对兔子从出生后第3个月起每月生一对小兔子。
        // 假如一年内没有发生死亡现象,那么,一对兔子一年内(12个月)
        // 能繁殖成多少对?(兔子的规律为数列,1,1,2,3,5,8,13,21)
    
        var numM1 = 1;//第一个月
        var numM2 = 1;//第二个月
        var sumM1 = 0;//第三个月
        for(var i=3;i<=12;i++){
            sumM1=numM1+numM2;//第三个月的
            numM1=numM2;//第二个月的等于numM2
            numM2=sumM1;//第三个月的等于sumM1
            //....以此类推
        }
        console.log(sumM1)//144
    break关键字:如果在循环中使用,遇到break,则跳出当前所在循环
      //找出100~200之间第一个能被7整除的数,结束循环
        for(var i=100;i<=200;i++){
            if(i%7==0){
                console.log("找了是哪个数"+i)
                break;//退出循环
            }
        }
    continue:在循环中如果遇到continue关键字,直接开始下一次循环
    //求200-300之间所有的奇数的和(用continue)
        var sum=0;
        var i=200;
        while(i<=300){
            //如果被2整除的数
            if(i%2==0){
                //自身加1,continue执行下一次循环
                i++;
                continue;
            }
            sum+=i;
            i++;
        }
        console.log(sum);//12500
    求整数1~100的累加值,但要求跳过所有个位为3的数
     var sum=0;
       var i=1;
       while(i<=100){
           //如果个位数为3的跳过
           if(i%10==3){
               i++;
               continue;
           }
           sum+=i;
           i++;
       }
       console.log(sum)//4570
       console.log(13%10==3)//true
    求一组数组的最大值和总和以及平均值
     
     var arr=[10,20,30,40,50];
        var sum=0;
        //求总和
        for(var i=0;i<arr.length;i++){
            sum+=arr[i]
        }
        console.log(sum);//150
        console.log(sum/arr.length)//30
        //求最大值
        var max=arr[0];
        for(var i=0;i<arr.length;i++){
            if(max<arr[i]){
                max=arr[i]
            }
        }
        console.log(max)//50

     求最小值

        //求最小值
        var myArray = new Array();
        myArray = [10,20,30,40,50,60,70,80,90,100];
        //预设数组中某值为最大值
        var maxNum =myArray[0];
        //循环遍历
        for(var i=0;i<myArray.length;i++){
            //判断
            if(maxNum>myArray[i]){
                maxNum=myArray[i]
            }
        }
        console.log(maxNum)//10

    倒序遍历

     //倒序遍历
        var myArray =[10,20,30,40,50,60,70,80,90,100];
        for(var i=myArray.length-1;i>=0;i--){
            console.log(myArray[i]);
        }
    //100,90,80,70,60,50,40,30,20,10

    把数组的每个元素用|拼接到一起

    //把数组中的每个元素用|拼接到一起
        var names = ["卡卡西","黑崎一护","凤姐","数组","马丁路德金"]
        var str="";
        for(var i=0;i<names.length-1;i++){
          str+= names[i]+"|"
        }
        console.log(str+names[names.length-1]);
        //卡卡西|黑崎一护|凤姐|数组|马丁路德金
    去掉数组中重复的0,把其他的数据放在一个新的数组中
    //去掉数组中重复的0,把其他的数据放在一个新的数组中
        var arr= [10,0,20,0,30,0,50];
        var newArr=[];//创建新的数组存储所有非0的数字
        for(var i=0;i<arr.length;i++){
            if(arr[i]!=0){
                //newArr索引为0 数字放入 长度改变
                newArr[newArr.length]=arr[i];
            }
        }
        //把新数组的长度作为下标使用,数组的长度是可以改变的
        console.log(newArr)//(4) [10, 20, 30, 50]
    反转数组--把数组中的数据的位置调换
    //反转数组--把数组中的数据的位置调换
        var arr=[10,20,30,40,50,60,70];
        //循环的目的是控制交换的次数
        for(var i=0;i<arr.length/2;i++){
            //先把第一个元素的值放在第三方变量中
            var temp=arr[i];
            //将第一个元素和最后一个数交换
            arr[i]=arr[arr.length-1-i];
            arr[arr.length-1-i]=temp;
        }
        console.log(arr)

    var myArray = [20,30,40,50,60,70,80,90,100,110,120,130,140,150,160];
    //控制交换的次数
    for(var i=0;i<myArray.length/2;i++){
    //将第一个元素的值放在第三方变量
    var tem = myArray[i];
    //将数组最后一个元素的值赋给第一个元素
    myArray[i]=myArray[myArray.length-1-i];
    //将第三方变量的值赋给数组最后一个元素
    //完成交换
    myArray[myArray.length-1-i]=tem;
    }
    console.log(myArray);
     
    提示用户输入班级人数,求总成绩,平均值,最高分,最低分
     
    //prompt("弹出一个输入框 ")
        var perCount = parseInt(prompt("请输入班级人数"));
        var perArray=[];
        for(var i=0;i<perCount;i++){
            perArray[perArray.length]=parseInt(prompt("请输入第"+(i+1)+"个人的成绩"))
    
        }
        console.log(perArray)
        var str=0;
        for(var i=0;i<perArray.length;i++){
            str+=perArray[i];
        }
        console.log("总成绩:"+str);
        console.log("平均成绩为:"+str/perCount)
        var avg=perArray[0]
        for(var i=0;i<perCount;i++){
            //判断大于则赋值
            if(avg<perArray[i]){
                avg=perArray[i];
            }
        }
        console.log("最高分:"+avg)
    
        var avg2=perArray[0]
        for(var i=0;i<perCount;i++){
            //判断小于则赋值
            if(avg2>perArray[i]){
                avg2=perArray[i];
            }
        }
        console.log("最低分:"+avg2)

    冒泡排序

    //冒泡排序 树有数据按照一定的顺序进行排列(从小到大,从大到下)
        var arr=[100,10,0,50,60,40,90];
        //控制比较的轮数
        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]){
                    //交换变量
                    tem=arr[j];
                    arr[j]=arr[j+1];
                    arr[j+1]=tem;
                }
            }
        }
        console.log(arr)//(7) [0, 10, 40, 50, 60, 90, 100]

     第二天有点久啊 -_-

  • 相关阅读:
    Redis的特点
    JavaScript语言和JQuery技术
    学习javaDay13
    学习JavaDay12
    学习JavaDay11
    学习JavaDay10
    学习JavaDay09
    学习JavaDay08
    java的语法基础(二)
    java语法基础(一)
  • 原文地址:https://www.cnblogs.com/shapaozi/p/10180440.html
Copyright © 2020-2023  润新知