前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >JavaScript 精粹:Number 与 Math

JavaScript 精粹:Number 与 Math

作者头像
全栈程序员站长
发布2022-06-30 09:35:34
3300
发布2022-06-30 09:35:34
举报
文章被收录于专栏:全栈程序员必看

这是 JavaScript 精粹的系列篇,涵盖了 JavaScript 中最常用和最重要的方法,以及其它一些基础知识。在这篇文章中,我们将讨论 NumberMath

前置知识

建议大家了解类型,只需要一点数学知识。

JavaScript Essentials: Types & Data Structures

JavaScript 中的数字基础

这是什么意思? 所有JavaScript 数字都存储为双浮点数。 JS会欺骗你,让你认为 var x = 1 是一个整数,但实际上它是一个浮点数并且等于 1.0

如果你这方面感兴趣,以下一些链接供你参考:

本文的重点是 Number 对象的方法。

https://medium.com/dailyjs/ja…

数字创建和基本的代码

图片描述
图片描述

重要指南

  • 所有数字都是浮点数
  • 所有的数字都是相同的类型,’number
  • JS与任何其他语言一样,受限于它可以表示的数字大小以及它的准确程度。

常用的方法

“安全” 的数字

一个 “安全” 的数字是一个值保证为你所说的值的数字。例如,如果试图在代码中使用900719925474099164,它就会变成 900719925474099200,这是因为它超出了安全数字范围。

我们怎么知道安全数字的范围是多少?

safe numbers
safe numbers
如何确定一个数字是否是整数?
Number.isInteger
Number.isInteger
如何更改小数位数?
Number.toFixed
Number.toFixed
Number.toPrecision
Number.toPrecision
转换成指数形式

也被称为科学记数法。

Number.toExponential
Number.toExponential

全局 Number 方法 与 Number.method 比较

你可能已经注意到有像 parseInt 这样的全局函数,但是这里只用 Number.parseInt()

这是因为 JS 试图摆脱全局函数而使用模块。一些新的模块方法被更新,而旧的全局方法没有更新。 比如 isNan() 不同于 Number.isNan()

使用大数字

警告:下面提到的 vanilla JS 方法目前在这个的时间段内不可用。 (可以在 Chrome控制台中尝试)在此处 查看提案。

图片描述
图片描述

在BigInt 可用之前,请使用库 MikeMcl/bignumber.js

转换为另一个数字系统

toString, parseInt
toString, parseInt

数字使用字符串中的方法

你可能已经尝试在控制台或任何地方上数字使用字符串的方法如 23.toString(2) // syntax error这是因为如前面“数字创建基础”中提到的 23.0 是可选的。

这意味着当你做 23.tostring(2), JS 认为它只是一个数字。它应该足够聪明,知道正在调用一个方法,但是好吧

解决方案:将数字包在括号中 (23).toString(2) //“10111” 或做一些非常奇怪的事…… 23..toString(2) 但请不要这样做 ?

NaN 是 Number 类型

NaN 存在于 Number 对象上,但是被定义为某些数学运算的结果,这些运算导致无法将数值量化为数字。 或者换句话说,它的命名很差, “无效数字”或类似数字情况会更好。

检查 NaN

NaN 是有毒的,意思是它会把它接触到的任何东西变成 请输入代码NaN 。它是唯一不等于它本身的值,我们可以利用它来做一些像 x !== x 的事情,如果它返回 true,那么它就是 NaN

Object.is, Number.isNaN, isNaN
Object.is, Number.isNaN, isNaN

四舍五入一个数字的方法

floor, ceil, round, toFixed, toPrecision
floor, ceil, round, toFixed, toPrecision

指数

pow
pow

生成随机数

Math.random
Math.random

Math 方法

在这里只包含了一些 Math 方法,但是有很多方法,请查看文档。我没有把它们全部包括在内,因为它们不言自明,并且只在你处理一个数字很多且重要的项目时才会经常使用。

实践

原文:

https://codeburst.io/javascri…

你的点赞是我持续分享好东西的动力,欢迎点赞!

一个笨笨的码农,我的世界只能终身学习!

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/101090.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021年7月1,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前置知识
  • JavaScript 中的数字基础
  • 数字创建和基本的代码
  • 重要指南
  • 常用的方法
    • “安全” 的数字
      • 如何确定一个数字是否是整数?
        • 如何更改小数位数?
          • 转换成指数形式
          • 全局 Number 方法 与 Number.method 比较
          • 使用大数字
          • 转换为另一个数字系统
          • 数字使用字符串中的方法
          • NaN 是 Number 类型
            • 检查 NaN
            • 四舍五入一个数字的方法
            • 指数
            • 生成随机数
            • Math 方法
            • 实践
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档