news 2026/4/3 5:51:39

HoRain云--深入解析JavaScript Number对象

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
HoRain云--深入解析JavaScript Number对象

🎬 HoRain云小助手:个人主页

🔥 个人专栏: 《Linux 系列教程》《c语言教程》

⛺️生活的理想,就是为了理想的生活!


⛳️ 推荐

前些天发现了一个超棒的服务器购买网站,性价比超高,大内存超划算!忍不住分享一下给大家。点击跳转到网站。

专栏介绍

专栏名称

专栏介绍

《C语言》

本专栏主要撰写C干货内容和编程技巧,让大家从底层了解C,把更多的知识由抽象到简单通俗易懂。

《网络协议》

本专栏主要是注重从底层来给大家一步步剖析网络协议的奥秘,一起解密网络协议在运行中协议的基本运行机制!

《docker容器精解篇》

全面深入解析 docker 容器,从基础到进阶,涵盖原理、操作、实践案例,助您精通 docker。

《linux系列》

本专栏主要撰写Linux干货内容,从基础到进阶,知识由抽象到简单通俗易懂,帮你从新手小白到扫地僧。

《python 系列》

本专栏着重撰写Python相关的干货内容与编程技巧,助力大家从底层去认识Python,将更多复杂的知识由抽象转化为简单易懂的内容。

《试题库》

本专栏主要是发布一些考试和练习题库(涵盖软考、HCIE、HRCE、CCNA等)

目录

⛳️ 推荐

专栏介绍

🔧 深入理解 Number 对象

1. 创建 Number 对象

2. 重要静态属性详解

3. 类型判断方法对比

4. 数值格式化方法

⚠️ 实用技巧与注意事项

💡 总结


JavaScript 的Number对象是处理数值数据的基础,它既是原始数值的包装对象,也提供了丰富的属性和方法来处理数值操作。下面这个表格汇总了其核心特性,帮你快速建立整体认知。

特性类别

核心属性/方法

说明与典型用途

核心概念

原始数值与Number对象

原始数值(如123)与new Number(123)创建的对象不同,但JavaScript通常会自动转换 。

静态属性(常量)

Number.MAX_SAFE_INTEGER

JavaScript 中能精确表示的最大安全整数(2^53 - 1)。

Number.MIN_SAFE_INTEGER

JavaScript 中能精确表示的最小安全整数(- (2^53 - 1))。

Number.MAX_VALUE

能表示的最大正数 。

Number.MIN_VALUE

能表示的最接近0的正数 。

Number.EPSILON

表示1与大于1的最小浮点数之间的差值,常用于浮点数比较的容错判断 。

静态方法(类型判断)

Number.isFinite()

判断一个值是否为有限的数值 。

Number.isInteger()

判断一个值是否为整数 。

Number.isSafeInteger()

判断一个值是否在安全整数范围内 。

Number.isNaN()

严格判断一个值是否为NaN,只有NaN本身返回true

实例方法(格式化转换)

toFixed(digits)

将数字格式化为指定小数位数的字符串,会进行四舍五入 。

toExponential(fractionDigits)

将数字转换为指数计数法表示的字符串 。

toPrecision(precision)

根据指定的有效数字位数来格式化数字,可能返回定点或指数表示法 。

toString(radix)

将数字转换为指定进制(radix)的字符串形式 。

🔧 深入理解 Number 对象

1. 创建 Number 对象

你可以通过两种主要方式创建 Number 对象:

let numLiteral = 123; // 原始数值类型 let numObject = new Number(123); // Number 对象 console.log(typeof numLiteral); // "number" console.log(typeof numObject); // "object" console.log(numLiteral === numObject); // false,因为类型不同
2. 重要静态属性详解

Number 对象的静态属性提供了一系列重要的数值常量,定义了 JavaScript 中数值表示的边界 :

3. 类型判断方法对比

ES6 引入的类型判断方法(如Number.isNaN()Number.isFinite())比全局方法更严格,它们不会对参数进行类型转换 :

// 全局 isNaN() 会先尝试将参数转换为数字 isNaN("123abc"); // true,因为转换后是 NaN // Number.isNaN() 不会进行类型转换 Number.isNaN("123abc"); // false,因为字符串本身不是 NaN // 同样适用于 isFinite isFinite("123"); // true,字符串被转换为数字 Number.isFinite("123"); // false,因为字符串不是数值类型
4. 数值格式化方法

Number 实例方法提供了灵活的数值格式化能力:

let price = 19.956; console.log(price.toFixed(2)); // "19.96"(四舍五入)
let largeNum = 123456789; console.log(largeNum.toExponential(2)); // "1.23e+8"
let num = 123.456; console.log(num.toPrecision(4)); // "123.5"

⚠️ 实用技巧与注意事项

  1. 浮点数精度问题:JavaScript 使用二进制浮点数,可能导致十进制运算出现精度误差。建议使用容差比较法 。

// 不推荐的直接比较 console.log(0.1 + 0.2 === 0.3); // false // 推荐的容差比较 console.log(Math.abs(0.1 + 0.2 - 0.3) < Number.EPSILON); // true
  1. 数值转换的最佳实践

  2. NaN 的特殊处理NaN是 JavaScript 中唯一不等于自身的值。检测NaN时应使用Number.isNaN(),而非直接比较 。

💡 总结

Number 对象是 JavaScript 数值处理的基础,提供了从基本数值表示到高级格式化的全面功能。理解安全整数范围、浮点数精度特性以及正确的类型判断方法,对于编写可靠的数值计算代码至关重要。对于超出安全整数范围的计算需求,可以考虑使用 ES2020 引入的BigInt类型来处理大整数 。

希望这份详细的指南能帮助你深入理解并有效运用 JavaScript Number 对象!

❤️❤️❤️本人水平有限,如有纰漏,欢迎各位大佬评论批评指正!😄😄😄

💘💘💘如果觉得这篇文对你有帮助的话,也请给个点赞、收藏下吧,非常感谢!👍 👍 👍

🔥🔥🔥Stay Hungry Stay Foolish 道阻且长,行则将至,让我们一起加油吧!🌙🌙🌙

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/1 3:07:07

Open-AutoGLM安全机制揭秘:敏感操作会主动确认

Open-AutoGLM安全机制揭秘&#xff1a;敏感操作会主动确认 1. 引言&#xff1a;当AI开始操控你的手机&#xff0c;安全如何保障&#xff1f; 你有没有想过&#xff0c;有一天只需说一句“帮我打开小红书&#xff0c;搜一下周末适合拍照的咖啡馆”&#xff0c;手机就会自动完成…

作者头像 李华
网站建设 2026/4/1 4:00:33

Qwen3-1.7B + vLLM:高性能推理部署方案

Qwen3-1.7B vLLM&#xff1a;高性能推理部署方案 1. 引言&#xff1a;轻量模型也能高效推理 在大模型时代&#xff0c;性能与资源消耗往往成正比。然而&#xff0c;随着边缘计算和本地化部署需求的激增&#xff0c;如何在有限硬件条件下实现高质量、低延迟的AI推理&#xff…

作者头像 李华
网站建设 2026/3/27 19:10:46

如何打造个性化语音?基于LLaSA和CosyVoice2的合成实践

如何打造个性化语音&#xff1f;基于LLaSA和CosyVoice2的合成实践 你有没有想过&#xff0c;能用一句话就“捏”出一个专属声音&#xff1f;不是简单的变声器&#xff0c;而是让AI根据你的描述&#xff0c;生成一个有性格、有情绪、有辨识度的真人级语音。这不再是科幻电影里的…

作者头像 李华
网站建设 2026/3/26 23:47:41

小白必看:用YOLOE镜像快速搭建实时目标检测系统

小白必看&#xff1a;用YOLOE镜像快速搭建实时目标检测系统 你是否曾为部署一个目标检测模型而烦恼&#xff1f;环境配置复杂、依赖冲突频发、代码跑不通……这些问题让很多刚入门的朋友望而却步。今天&#xff0c;我们来聊一个真正“开箱即用”的解决方案——YOLOE 官版镜像。…

作者头像 李华
网站建设 2026/4/1 13:12:35

DeepSeek-R1推理模型成本优化案例:GPU资源节省60%实操手册

DeepSeek-R1推理模型成本优化案例&#xff1a;GPU资源节省60%实操手册 1. 背景与目标&#xff1a;为什么我们需要优化推理成本&#xff1f; 你有没有遇到过这种情况&#xff1a;明明只是想跑一个1.5B参数的模型&#xff0c;结果一张24GB显存的GPU卡直接被吃满&#xff0c;还时…

作者头像 李华