当前位置:首页 > JavaScript

js实现闰年

2026-04-06 12:11:41JavaScript

判断闰年的规则

闰年判断遵循以下规则:

js实现闰年

  1. 能被4整除但不能被100整除的年份是闰年
  2. 能被400整除的年份也是闰年

基础实现方法

function isLeapYear(year) {
    return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;
}

带输入验证的实现

function isLeapYear(year) {
    if (typeof year !== 'number' || !Number.isInteger(year)) {
        throw new Error('输入必须是整数');
    }
    if (year < 0) {
        throw new Error('年份不能为负数');
    }
    return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;
}

测试示例

console.log(isLeapYear(2000)); // true
console.log(isLeapYear(1900)); // false
console.log(isLeapYear(2020)); // true
console.log(isLeapYear(2021)); // false

批量判断方法

function checkLeapYears(years) {
    return years.map(year => ({
        year,
        isLeap: isLeapYear(year)
    }));
}

// 使用示例
const years = [2000, 1900, 2020, 2021];
console.log(checkLeapYears(years));

注意事项

  1. 输入应为整数年份
  2. 公元前的年份需要特殊处理(本实现未考虑)
  3. 格里高利历从1582年开始采用,之前的年份可能有不同规则

标签: 闰年js
分享给朋友:

相关文章

js实现拖拽

js实现拖拽

实现拖拽的基本步骤 使用JavaScript实现拖拽功能需要监听鼠标事件,包括mousedown、mousemove和mouseup。以下是实现的基本逻辑: const draggableEleme…

js 进度条的实现

js 进度条的实现

使用 HTML 和 CSS 创建基础进度条 HTML 结构可以简单使用一个 div 元素作为容器,内部嵌套另一个 div 表示进度: <div class="progress-containe…

js轮播图实现原理

js轮播图实现原理

轮播图的基本原理 轮播图通过动态切换显示的内容(图片、文本等)实现视觉上的滑动效果。核心原理是利用CSS和JavaScript控制元素的显示与隐藏,或通过变换位置实现滑动动画。 实现方法一:CSS…

js实现vr

js实现vr

使用WebXR API实现VR体验 WebXR是浏览器中实现VR和AR体验的标准API,它取代了早期的WebVR。现代浏览器如Chrome、Edge和Firefox已支持WebXR。 // 初始化W…

js怎么实现异步

js怎么实现异步

异步实现方法 JavaScript中实现异步操作主要通过以下几种方式: Promise Promise是ES6引入的异步解决方案,用于处理异步操作的成功或失败状态。 const promise =…

js实现显示隐藏

js实现显示隐藏

显示隐藏的实现方法 在JavaScript中,实现元素的显示和隐藏可以通过多种方式完成。以下是几种常见的方法: 修改CSS的display属性 通过改变元素的display属性可以在none(隐藏)…