js函数练习

1.写一个函数,用户输入任意两个数字的任意算术运算(简单的计算器小功能) ,并能弹出运算后的结果。

 var num1 = prompt('输入第一个数字');
        var st = prompt('输入加减乘除符号');
        var num2 = prompt('输入第二个数字');
        function getNum(num1,num2){
            return[parseInt(num1) + parseInt(num2),num1-num2,num1*num2,num1/num2];
        }
        var str = getNum(num1,num2);
        if(st == '+'){
            alert(str[0]);
        }else if(st == '-'){
            alert(str[1]);
        }else if(st == '*'){
            alert(str[2]);
        }else if(st == '/'){
            alert(atr[3]);
        }

2.写一个函数,用户输入任意两个数字的最大值,并能弹出运算后的结果。

var num1 = parseInt(prompt('请输入第一个数'));
        var num2 = parseInt(prompt('请输入第二个数'));
        function getMax(num1,num2){
            if(num1>num2){
                return(num1);
            }else{
                return(num2);
            }
            // return num1>num2 ? num1 : num2;   //也可用三元表达式
        }
        var str = getMax(num1,num2);
        alert('最大值为'+str);

3.写一个函数,用户输入任意三个不同数字的最大值,并能弹出运算后的结果。

var num1 = parseInt(prompt('请输入第一个数'));
        var num2 = parseInt(prompt('请输入第二个数'));
        var num3 = parseInt(prompt('请输入第三个数'));
        var max = 0;
        var str = [num1,num2,num3];
        function getMax(num1,num2,num3){
            for(var i=0;i<str.length;i++){
                if(max <str[i]){
                    max = str[i];
                }
            }
            return(max);
        }
        var st = getMax(num1,num2,num3);
        alert('最大值为'+st);

4.写一个函数,用户输入一个数判断是否是素数,并弹出返回值(又叫质数,只能被1和自身整除的数)。

var num = prompt('请输入一个数:')
        function isPrime(num){
            for(var i=2;i<num;i++){
                if(num % i == 0){
                    return num +'不是质数';
                }
            }
            return num + '是质数';
        }
        var str = isPrime(num);
        alert(str);

5.利用函数求任意个数的最大值。(可以利用arguments)

function getMax(){
            var max = arguments[0];
            for(var i=1;i< arguments.length;i++){
                if(arguments[i]>max){
                    max = arguments[i];
                }
            }
            return max;
        }
        console.log(getMax(1,2,3));                 //3
        console.log(getMax(1,2,3,4,5));             //5
        console.log(getMax(1,2,3,33,55,213,7));     //213

6.利用函数封装方式,翻转任意一个数组。

function reverse(arr){
            var newArr = [];
            for(var i=arr.length-1;i>=0;i--){
                newArr[newArr.length] = arr[i];
            }
            return newArr;
        }
        var arr1 = reverse([1,3,4,6,7]);
        console.log(arr1);               
        var arr2 = reverse(['blue','red','pink']);
        console.log(arr2);

7.利用函数封装方式,对数组进行冒泡排序。

function sort(arr){
            for(var i=0;i<arr.length-1;i++){
                for(var j=0;j<arr.length-i-1;j++){
                    if(arr[j] > arr[j+1]){
                        var temp = arr[j];
                        arr[j] = arr[j+1];
                        arr[j+1] = temp;
                    }
                }
            }
            return arr;
        }
        var arr1 = sort([1,4,2,9]);
        console.log(arr1);
        var arr2 = sort([11,4,65,13]);
        console.log(arr2);

8.输入一个年份,判断是否是闰年(闰年:能被4整除并且不能被100整除,或者能被400整除)。

function isRunYear(year){
            //如果是闰年,返回true,平年返回false
            var flag = false;
            if(year % 4 ==0 && year % 100 !=0 || year %400 ==0){
                flag = true;
            }
            return flag;
        }
        console.log(isRunYear(2000));     //true
        console.log(isRunYear(1999));     //false

9.用户输入年份,输出当前年份2月份的天数。

function backDay(){
            var year = prompt('请您输入年份:');
            if(isRunYear(year)){  
                alert('当前年份是闰年,2月份有29天');
            }else{
                alert('当前年份是平年,2月份有28天');
            }
        }
        backDay();

        //判断是否为闰年
        function isRunYear(year){
            //如果是闰年,返回true,平年返回false
            var flag = false;
            if(year % 4 ==0 && year % 100 !=0 || year %400 ==0){
                flag = true;
            }
            return flag;
        }

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值