1,年份算是否是闰年,确认2月份的天数
2,得到每个月的天数,可以放数组里
3,根据月份得到当前月份的天数
4,根据日期加3得到的天数就ok了。
function isLeapYr(yr) {
//判断闰年
return (yr % 4 === 0 && yr % 100 !== 0) || (yr % 100 === 0 && yr % 400 === 0);
}function count(y, m, d) {
var mdays = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; var mSum = 0; var sum = 0; //如果是闰年的话,那么2月份就应该有29天
isLeapYr(y) ? mdays[1] = 29 : mdays[1]; //计算该月份之前的总天数,比如m=3,那么就计算1和2月的总天数
for (var i = 0; i < m - 1; i++) {
mSum += mdays[i];
} //加上当月天数
sum = mSum + d; return sum;
} //弹出年、月、日输入框,声明年鱼儿,并赋值
var y =parseInt(prompt("请输入你的出生年份")); var m = parseInt(prompt("请输入你的出生月份")); var d =parseInt(prompt("请输入你的出生日期")); //月
//求各月份数字之和
var getMonth=new Array(31,28,31,30,31,30,31,31,30,31,30); var sum1=0,i; for(i=0;i<m-1;i++){
sum1+=getMonth[i]
} //年
//判断年是否为闰年,是且大于2月份加一
if(( y%400 ==0||(y % 4 == 0&& y%100 !=0))&& m > 2){
sum=sum1 + d +1;
document.write("该天为一年中的第"+sum+"天");
}else{
sum=sum1+d;
document.write("该天为一年中的第"+sum+"天");
}利用时间函数进行计算
var now = new Date();//输入日期以今日为例var NewYearsDay = new Date(now.getFullYear(), 0, 0, 0, 0, 0);//该年第一天console.log((now.getTime()-NewYearsDay.getTime())/86400000>>>0)//算出两者的时间戳之差就是时间差的微秒数 再用时间差除以天的微秒数86400000 取整 就是第几天
var endDate = new Date(y, m-1, d),
startDate = new Date(y, 0, 0),
days = (endDate - startDate) / 1000 / 60 / 60 / 24;
document.write("该天为一年中的第"+ days +"天");//while循环实现function calNum(n) {
var product = 1; while(n > 1){//1*5*4*3*2,1*n*(n-1)*(n-2)*...*2
product *= n;
n--;
} return product;
}
console.log(calNum(5))//for循环实现
function calNum(n){
var a = 1, str = '1*'; for (var i = 2; i <= n; i++) { str += i + '*';
a *= i;
} str = str.substr(0,str.length-1); return str + '=' +a;
}
console.log(calNum(5));var prime = function(len){
var i,j;
var arr = []; for(i = 1; i < len; i++){
for(j=2; j < i; j++){
if(i%j === 0) {
break;
}
} if(i <= j && i !=1){
arr.push(i);
}
} return arr;
};console.log(prime(100));时间复杂度为O(2^n),空间复杂度为O(n)
function recurFib(n) {
if (n < 2) { return n;
} else { return recurFib(n-1) + recurFib(n-2);
}
}
alert(recurFib(10));//将显示55时间复杂度为O(n),空间复杂度为O(n)
function dynFib(n) { var res = [1,1];
if (n == 1 || n == 2) { return 1;
} for (var i = 2; i < n; i++) { val[i] = val[i-1] + val[i-2];
} return val[n-1];
}
alert(dynFib(10));//将显示55时间复杂度为O(n),空间复杂度为O(1)
function iterFib(n){
var last=1; var nextlast=1; var result=1; for(var i=2;i<n;i++){
result=last+nextlast;
nextlast=last;
last=result;
} return result;
}
alert(iterFib(10));//将显示55function foo(n){
var a=[],state=0;
for(var i=2;i<n;i++){
var sqrt_i = Math.sqrt(i);
if(i%sqrt_i===0){
continue;
}
for(var j=2;j<sqrt_i;j++){
if(i%j===0){
state=1;
break;
}else{
state=0;
}
}
if(state===0){
a.push(i);
}
}
console.log(a);
}
foo(100)本文讲解了js入门小案例,更多相关内容请关注php中文网。
相关推荐:
以上就是介绍JS入门小案例的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号