js函数 function面试题

1.利用函数求任意数组中的最大值

function getArrMax(arr){
	var max=arr[0];
	for(var i=0;i<arr.length;i++){
		if(arr[i]>max){
			max=arr[i];
		}
	}
	return max;
}
var result=getArrMax([5,2,45,78,65,350,101,202,212]);
var result2=getArrMax([6,45,6,4548,1545,7845,124,2000,30000]);
console.log(result);
console.log(result2);

2.用户输入任意两个数字,做任意算术运算 并弹出运算结果

function addNum(a,b){
	return a+b;
}
var num1=parseInt(prompt("输入第一个数字"));
var num2=parseInt(prompt("输入第二个数字"));
var result=addNum(num1,num2);
alert("你输入的俩数字的和为:"+ result);

3.判断用户输入的数是否为素数

function odds(num){  //2  4
	//质数只能被1和其本身整除
	for (var i = 2; i < num/2+1; i++) { //i<2  9 循环判断次数
        if (num%i==0){ //
            return alert(num+"不是质数");//表示不是质数
        }
    };
    return alert(num+"是质数");//表示为质数
}
var nums=parseInt(prompt("输入你要判断素偶的数字"));
console.log(odds(nums));

4.利用函数封装翻转任意数组 reverse翻转

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,2,3,4,5,6,7,8,9,10,12,]);
console.log(arr1);

5.函数封装冒泡 sort排序

function sort(arr){
	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 temp=arr[j];
				arr[j]=arr[j+1];
				arr[j+1]=temp
			}
		}
	}
	return arr;
}
var arr1=sort([1,2,5,78,54,659,12,4578,45,12,1,10,5,8,78]);
console.log(arr1)

6.封装函数判断闰年

function year(num){
	var flag=false;
	if(num % 4 == 0 && num % 100 !=0 ||num % 400 == 0){
		alert(num+":是闰年");
		flag=true;
	}
	return flag;
}
console.log(year(2000));

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

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

}


backDay()
//判断闰年函数
function isRunYear(year){
	var flag=false;
	//是闰年 返回true 不是 返回false
	if(year% 4 == 0 && year% 100 !=0 ||year% 400 == 0){
		flag=true;
	}
	return flag;
}

8.封装一个函数返回时分秒

function getTime(){
	var timer=new Date();
	var h=timer.getHours();
	h=h<10 ? '0'+h : h;
	var m=timer.getMinutes();
	m=m<10 ? '0'+ m : m;
	var s=timer.getSeconds();
	s=s<10 ? '0'+ s : s;
	return h +':'+ m +':'+ s;
}
console.log(getTime())
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值