当前位置:首页 > JavaScript

js实现闰年

2026-04-06 12:11:41JavaScript

js实现闰年

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实现文件下载

使用 a 标签下载文件 通过动态创建 a 标签并设置 download 属性实现文件下载。适用于已知文件 URL 或 Blob 数据的情况。 function downloadFile(url, f…

原生js实现轮播图

原生js实现轮播图

基本结构搭建 HTML部分需要包含轮播图容器、图片列表及导航按钮。结构示例如下: <div class="slider-container"> <div class="slid…

js实现预览

js实现预览

文件上传预览实现 使用JavaScript实现文件上传预览功能,可以通过FileReader对象读取文件内容并显示预览。以下代码支持图片、文本和PDF文件的预览: // HTML部分需要包含inpu…

js实现二叉树

js实现二叉树

二叉树的基本概念 二叉树是一种树形数据结构,每个节点最多有两个子节点,分别称为左子节点和右子节点。二叉树的常见操作包括插入、删除、遍历等。 二叉树的节点定义 在JavaScript中,二叉树的节点可…

js实现游标

js实现游标

使用JavaScript实现游标 在JavaScript中,可以通过操作DOM元素的cursor样式属性来实现自定义游标效果。以下是几种常见的实现方法: 修改默认鼠标指针样式 通过CSS的curso…

js节流实现

js节流实现

节流的概念 节流(Throttle)是一种限制函数执行频率的技术,确保函数在一定时间间隔内只执行一次。常用于滚动事件、窗口调整等高频触发的场景。 基础实现方法 使用时间戳判断是否执行函数: fun…