JS基础案例22-函数练习

2018-10-11  本文已影响0人  hi__world
<script>
    alert( getSum(200) )

    function getSum(num){
        var sum=0;
        for(var i=1;i<=num;i++){
            sum+=i
        }
        return sum;
    }
</script>
<script>
    //圆的周长=圆周率X半径X2
function getLong(r){
       return Math.PI*r*2;
   }
   console.log(getLong(8))
   //Math.PI 是JS内置的。
</script>
圆的面积计算公式
<script>
// 求圆的和面积(area = pi*r*r)
    alert(getArea(1))
    function getArea(r){
        return Math.PI*Math.pow(r,2);//就是3.14*r的2次方
  }
  //Math,pow(),求次方。
</script>

判断2个数字的大小。

<script>
    function isMax(num1,num2){
        if(num1>num2){
            return num1;
        }
        return num2;

    //return num1>num2?num1:num2;三目运算一句搞定。
    }

    alert(isMax(85,222));
</script>

判断3个数字的大小


<script>
    function isMax(num1,num2,num3){
        if(num1>num2){
            if(num1>num3){
                return num1
            }
            return num1;
        }else if(num2>num3){
            return num2;
        }else{
            return num3
        }
  //return (num1>num2?num1:num2)>num3?(num1>num2?num1:num2):num3;三目运算
    }

    alert(isMax(85,222,33));
</script>

arr=[18,45,0,58,32]

<script>
    var arr = [18, 45, 0, 58, 32,59]
    
    function ArrMax() {
        var arr1=arr[0];
        for(var i=0;i<arr.length;i++){
            if(arr[i]>arr1){
                arr1=arr[i];
            }
        }
        return arr1;
    }
    alert(ArrMax(arr))
</script>
<script>
    var arr = [18, 45, 0, 58, 32,59];
    
    function ArrMax() {
        for(var i=0;i<arr.length;i++){
            for(var j=0;j<arr.length;j++){
                if(arr[j]>arr[j+1]){
                    var temp=arr[j];
                    arr[j]=arr[j+1];
                    arr[j+1]=temp;
                }
            }
        }
        return arr;
    }
    alert(ArrMax(arr))
</script>
<script>
    function getJC(num) {
    var sum=1;
        for(var i=1;i<=num;i++){
            sum*=i;
        }
        return sum;
    }
    console.log( getJC(5) )
</script>
<script>
    var arr=[1,2,3,4,5,6];
    console.log(arr+"没反转的")

    function reversal(arr) {
        var newArr=[];
        for(var i=arr.length-1;i>=0;i--){
            newArr[newArr.length]=arr[i]
        }
        return newArr;
    }
    console.log(reversal(arr) + "反转后的")

</script>
<script>
    function PrimeNumber(num) {
        if(num == 1){
            return num+"不是质数"
        }
        for(var i=2;i<num;i++){
            if(num % i === 0){
                return num+"不是质数"
            }
        }
        return num+"是质数"
        
    }
    console.log(PrimeNumber(6))
</script>
    //斐波那契数列1  1  2  3  5  8  13  21 34  55 89  44 233
    function fn1(num) {
        var n1=1,n2=1;
        for(var i=2;i<num;i++){
            var temp=n2;  
                n2=n1+n2;
                n1=temp;
        }
        return n2;
    }
    alert(fn1(12))

例如:输入2018,10,11 弹出284天。

源码:

<script>
    //第一先知道每个月有多少天,让它累加。 arr = [31,28,31,30,31,30,31,31,30,31,30,31]; 这是每个月的天数,只有2月是不固定的。
    //2月份不固定,是因为有闰年的存在,所以还要判断是不是闰年。就OK啦。

    //先写个判断闰年的函数。
    //闰年的规律是四年一闰,百年不闰,四百年再闰。
      function isRun(year){
          if(year%4===0 && year%100!==0 || year%400===0){
              return true;
          }
          return false;
      }


      function getDays(year,month,day) {
          var arr = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];//月份
          
          for(var i=0;i<month-1;i++){// for循环让前面月份天数相加。
              day+=arr[i];
          }

          if(isRun(year)){//判断如果是闰年就加一天
              day++;
          }
          return day;
      }
      alert(getDays(2018,10,11))
      //alert(getDays(2016,3,1)) 2016年是闰年。
</script>

你也可以再加入一些代码,提示用户输错啦,比如1,3,5,7,8,10,12的day能超过31,闰年2月,不能超过29,等等。

上一篇 下一篇

猜你喜欢

热点阅读