发布时间:2026/8/26 14:23:03
Number.isFinite和isFinite与isNaN()和Number.isNaN的区别 断是否为数字(不够完美)function isNumber(value) { return typeof value number !isNaN(value); } // 测试 isNumber(123); // true isNumber(0); // true isNumber(NaN); // false NaN 被排除 isNumber(Infinity); // true 无穷大算数字这里判断出错了 isNumber(123); // false判断是否为数字function isNumber(value) { return typeof value number Number.isFinite(value); }这个办法虽然好但有点累赘了。因为你不清楚Number.isFinite的含义。Number.isFiniteNumber.isFinite(value) 是 ES6 引入的静态方法只有当 value 的类型为 number且该数字不是 NaN也不是 Infinity 或 -Infinity 时才返回 true。Number.isFinite(): 不会类型强制转换isFinite()会类型强制转换。isFinite先将value强制转换为数字number且该数字不是 NaN也不是 Infinity 或 -Infinity 时才返回 true。isFinite()和Number.isFinite()的区别isFinite()会进行强制类型转换而Number.isFinite()不会进行类型转换。Number.isFinite()和isFinite()的详细示例对比// ✅ 对于真正的有限数字两者返回一致 Number.isFinite(123); // true isFinite(123); // true // 对于非有限数字NaN / Infinity Number.isFinite(NaN); // false isFinite(NaN); // false Number.isFinite(Infinity); // false isFinite(Infinity); // false Number.isFinite(undefined); // false isFinite(undefined); // false 强制转化为数字,undefined - NaN Number.isFinite(abc); // false isFinite(abc); // false 强制转化为数字,abc - NaN // ⚠️ 对于非数字类型,开始出现巨大分歧 Number.isFinite(123); // false 因为类型是 string isFinite(123); // true 会进行强制转换,123 -- 123 // ⚠️ 对于,开始出现巨大分歧 Number.isFinite(); // false isFinite(); // true 会进行强制转换 -- 0 // ⚠️ 对于true,开始出现巨大分歧 Number.isFinite(true); // false isFinite(true); // true 会进行强制转换,true - 1 // ⚠️ 对于null,开始出现巨大分歧 Number.isFinite(null); // false isFinite(null); // true 会进行强制转换,null - 0 // ⚠️ 对于[],开始出现巨大分歧 Number.isFinite([]); // false isFinite([]); // true 强制转化为数字,[] - - 0 // ⚠️ 对于数字类型的数组,开始出现巨大分歧 Number.isFinite([5]); // false isFinite([5]); // true [5] - 5 - 5有限什么推荐使用 Number.isFinite更安全避免因隐式转换导致的逻辑漏洞。兼容性ES6出来的主流浏览器支持但是IE不支持更加简洁判断是否是数字的办法(不支持IE)看了上面的讲解判断数字的最佳办法是这个const isNumber Number.isFinite(value)兼容IE判断数字的方法function isNumber(value) { return typeof value number isFinite(value); } console.log(isNumber(Infinity)); // false console.log(isNumber(NaN)); // false console.log(isNumber(1234)); // falseisFinite() IE 兼容性isNaN(value)先将参数 value 强制转换为数字(调用的是ToNumber),再判断转换后的结果是否为 NaN。isNaN(hello) → true hello强制转化为数字NaN,返回true。 isNaN(123abc); → true Number(123abc) NaN isNaN(undefined) → true‌‌ (强制转化为数字NaN因为Number(undefined)是NaN。所以返回true) isNaN({}); → true Number({}) NaN isNaN(123) → false 123 不是NaN返回false isNaN(123) → false 强制转化为数字123123不是NaN返回false。 isNaN(null) → false 强制转化为数字0,因为Number(null)是0。返回false。‌‌ isNaN(); → false 强制转化为数字0,因为Number()是0返回false isNaN( ); → false 强制转化为数字0,因为Number( )是0,返回false isNaN(false); → false Number(false),强制转化为数字0 isNaN([]); → false Number([]),强制转化为数字0Number.isNaN(value)不会对传入的参数value做类型转换。它只在 value 严格等于 NaN 时返回 true其他所有情况都返回 false。Number.isNaN() 和 isNaN()的区别Number.isNaN()不会对传入的参数做类型转换。isNaN()会对传入的参数做类型转换(强制转换为数字)。// 典型的陷阱对比 Number.isNaN(abc); // false 不会转换直接判定不是 NaN返回false isNaN(abc); // true 强制转化为数字类型NaNNumber(abc) NaN 返回true Number.isNaN(undefined); // false 不会转换直接判定不是 NaN返回false isNaN(undefined); // true强制转化为数字类型NaNNumber(undefined) NaN 返回truenumber()几个常见的值转化Number(hello) → NaN Number(123abc) → NaN Number(undefined) → NaN Number({}) → NaN Number(null); → 0 Number(); → 0 Number( ) → 0 Number(false); → 0 Number(true); → 1 Number([]); → 0 Number([5]); → 5 Number([5, 6]); → NaN

相关新闻

2026/8/25 15:35:23

药食同源展-2026厦门药食同源功能性食品展览会【官网】

2026厦门国际药食同源功能性食品大会暨博览会 时间:2026年11月05-07日 地址:厦门国际博览中心引领大健康与食品产业融合创新的风向标——2026药食同源功能性食品大会暨博览会将于2026年11月05至07日,在美丽的海滨之城厦门,依托现代…

2026/8/25 19:30:57

LTC6904与PIC18LF46K22协同设计实现高精度方波脉冲生成

1. LTC6904与PIC18LF46K22的硬件协同设计1.1 芯片选型依据与技术特性分析在精确方波脉冲生成系统中,LTC6904和PIC18LF46K22的组合堪称黄金搭档。LTC6904是Linear Technology(现属ADI)推出的精密可编程振荡器,具有0.1Hz至20MHz的频…

2026/8/26 21:00:59

泊松-玻尔兹曼方程:从静电学到生物分子模拟的跨学科桥梁

1. 从“带电粒子”到“连续介质”:一个物理思想的跃迁 如果你研究过电解质溶液、胶体分散体系,或者半导体器件的物理特性,那么“泊松-玻尔兹曼方程”这个名字你一定不会陌生。它看起来是一个复杂的数学公式,但它的诞生&#xff0c…

2026/8/26 21:00:59

致远OA表单开发:基于Groovy脚本实现子表跨行数据动态计算

1. 项目背景与核心需求:为什么需要“取上一行金额”在致远OA的表单开发中,尤其是涉及费用报销、采购申请、预算编制等带有明细行的业务场景,一个高频且棘手的需求是:在明细行的某个字段中,动态地获取并引用上一行&…

2026/8/26 21:00:59

自包含操作系统:打造轻量可控、无云端依赖的Linux环境

最近在给几台旧设备做系统规划时,我反复思考一个问题:为什么一台性能不错的电脑,装完主流操作系统后会变得越来越慢?表面看是内存和 CPU 占用高,真正原因是系统层面积累了大量预装应用、常驻服务、云端同步组件和各类智…

2026/8/26 21:00:59

自包含操作系统实操指南:从最小化安装到无AI本地化工作流

如果你最近打开电脑时,看到的不再是干净桌面,而是 AI 助手入口、云同步状态、各种预装应用和后台推送,那么你大概率也想过一个问题:到底有没有一个系统,装完之后就是我自己要的样子,不塞一堆多余的东西&…

2026/8/26 21:00:59

MySQL登录失败Access denied八大原因与系统排查修复指南

1. 问题现象与核心困惑“明明昨天还好好的,今天用同样的账号密码登录MySQL,怎么就报Access denied了?” 这几乎是每一位数据库管理员或开发者在职业生涯中都会遇到的“灵异事件”。你反复确认了密码,甚至用记事本打开、复制粘贴&a…

2026/8/26 20:55:59

机器人高速奔跑背后的运动控制技术解析:从倒立摆到步态规划

跑步这件事,过去我们习惯把它看成“人类运动能力的极致表现”,但最近“荣耀机器人”以2分30秒完成1500米的新闻,让很多人开始重新审视机器人的运动能力。2分30秒是什么概念?相当于平均速度10m/s,换算成时速就是36km/h&…

2026/8/26 9:13:28

[光学原理与应用-521]:对光的错误理解与纠偏

首先光是一种能量的载体和形态,宏观上观察到的光是由无数个微观的光量子组成的,每个光子在产生的瞬间,其在真空的空间中以确定不变的速度沿着一个初始的方向一直向前,在微观层面,每个光量子的运动轨迹是以波函数所展现…

2026/8/25 11:48:27

SIP通话转接原理与REFER方法实战解析

1. 通话转接不是“挂断再拨号”,而是SIP会话的动态重定向你有没有遇到过这样的场景:客服坐席A正在和客户通电话,突然需要把这通对话无缝转给专家坐席B,客户完全感知不到中间的断连——既没听到忙音,也没被要求重新拨号…

2026/8/25 16:56:43

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

1. 为什么选择Kolla-ansible来部署单节点OpenStack?如果你正在寻找一种能把OpenStack从“概念”快速变成“可用的实验环境”的方法,那么Kolla-ansible几乎是当前最主流、最省心的选择。我见过太多人卡在手动编译依赖、配置服务、处理版本冲突的泥潭里&am…

2026/8/26 0:04:32

Python random 模块常用函数详解:从入门到实战

目录 1. 引言2. 准备工作3. 基础随机函数4. 序列相关函数5. 随机种子与复现6. 实战案例7. 注意事项8. 常见问题与排查9. 总结 1. 引言 摘要: 本文系统介绍 Python 标准库 random 模块中最常用的随机数生成函数。内容涵盖基础随机函数(random()、unifor…

2026/8/26 1:19:35

JSON总结

JSON概念 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,主要用于跟服务器进行交换数据。它基于ECMAScript的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C、C、C#、Java、JavaScr…

2026/8/26 1:19:35

保存连接sse 是什么原理,为什么不会一直请求

“保持连接”用的是 SSE(Server-Sent Events),本质是一个没有马上结束的 HTTP 请求。 过程是: 拷贝机发送一次请求: GET /api/code-sync/events服务器返回: Content-Type: text/event-stream但不关闭响应&…

2026/8/26 19:34:06

实测才敢推 AI论文网站 2026最新测评与推荐

2026年真正好用的AI论文网站,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。一、综…

2026/8/26 19:17:08

2026必备!AI论文网站测评:最新推荐与深度对比

2026年真正好用的AI论文网站,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 一、…

2026/8/26 19:34:05

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

一天写完毕业论文在2026年已不再是天方夜谭。2026年最炸裂、实测能大幅提速的AI论文写作工具,覆盖选题构思、文献整理、内容生成、格式排版等核心场景,真正帮你高效搞定论文难题。 一、全流程王者:一站式搞定论文全链路(一天定稿首…