【javascript高级教程】JavaScript Number 对象

JavaScript 只有一种数字类型。可以使用也可以不使用小数点来书写数字。

var pi=3.14;    // 使用小数点
var x=34;       // 不使用小数点

极大或极小的数字可通过科学(指数)计数法来写:

var y=123e5;    // 12300000
var z=123e-5;   // 0.00123

所有 JavaScript 数字均为 64 位

JavaScript 不是类型语言。与许多其他编程语言不同,JavaScript 不定义不同类型的数字,比如整数、短、长、浮点等等。

在JavaScript中,数字不分为整数类型和浮点型类型,所有的数字都是由 浮点型类型。JavaScript 采用 IEEE754 标准定义的 64 位浮点格式表示数字,它能表示最大值(Number.MAX_VALUE)为 ±1.7976931348623157e+308,最小值(Number.MIN_VALUE)为 ±5e-324

此格式用 64 位存储数值,其中 0 到 51 存储数字(片段),52 到 62 存储指数,63 位存储符号:

精度

整数(不使用小数点或指数计数法)最多为 15 位。

var x = 999999999999999;   // x 为 999999999999999
var y = 9999999999999999;  // y 为 10000000000000000

小数的最大位数是 17,但是浮点运算并不总是 100% 准确:

var x = 0.2+0.1; // 输出结果为 0.30000000000000004

八进制和十六进制

如果前缀为 0,则 JavaScript 会把数值常量解释为八进制数,如果前缀为 0 和 "x",则解释为十六进制数。

var y = 0377;
var z = 0xFF;

默认情况下,JavaScript 数字为十进制显示。

但是你可以使用 toString() 方法 输出16进制、8进制、2进制。

var myNumber=128;
myNumber.toString(16);   // 返回 80
myNumber.toString(8);    // 返回 200
myNumber.toString(2);    // 返回 10000000

无穷大(Infinity)

当数字运算结果超过了JavaScript所能表示的数字上限(溢出),结果为一个特殊的无穷大(infinity)值,在JavaScript中以Infinity表示。同样地,当负数的值超过了JavaScript所能表示的负数范围,结果为负无穷大,在JavaScript中以-Infinity表示。无穷大值的行为特性和我们所期望的是一致的:基于它们的加、减、乘和除运算结果还是无穷大(当然还保留它们的正负号)。

myNumber=2;
while (myNumber!=Infinity)
{myNumber=myNumber*myNumber; // 重复计算直到 myNumber 等于 Infinity
}

除以0也产生了无限:

var x = 2/0;
var y = -2/0;

NaN - 非数字值

NaN 属性是代表非数字值的特殊值。该属性用于指示某个值不是数字。可以把 Number 对象设置为该值,来指示其不是数字值。

你可以使用 isNaN() 全局函数来判断一个值是否是 NaN 值。

var x = 1000 / "Apple";
isNaN(x); // 返回 true
var y = 100 / "1000";
isNaN(y); // 返回 false

除以0是无穷大,无穷大是一个数字:

var x = 1000 / 0;
isNaN(x); // 返回 false

数字可以是数字或者对象

数字可以私有数据进行初始化,就像 x = 123;

JavaScript 数字对象初始化数据, var y = new Number(123);

var x = 123;
var y = new Number(123);
typeof(x) // 返回 Number
typeof(y) // 返回 Object
var x = 123;             
var y = new Number(123);
(x === y) // 为 false,因为 x 是一个数字,y 是一个对象

Number 属性

数字方法

数字类型原型上的一些方法

关于 Infinity, -Infinity 和 NaNInfinity , -Infinity 和 NaN 都是 JavaScript 保留字,不能用作标识符,对大小写敏感。
-Infinity 的负号与 "Infinity" 之间不能有空格。
-Infinity 不需要用括号包围; 1 - (-Infinity) 和 1 - -Infinity 是等价的。
和其他数字一样,这三者与字符串相加会得到字符串。
这三者不等于任何一个有限数字。
使用对象的 .stringgify() 方法转换为 JSON 文本时,这三者会被转换为 null 。
Infinity 运算法则正数除以 0 得 Infinity。
Infinity 加或减任何有限数字都得 Infinity 。Infinity + Infinity 或 Infinity - -Infinity 也得 Infinity 。
Infinity 乘或除以任何有限正数得 Infinity 。Infinity 乘或除以任何有限负数得 -Infinity 。 Infinity * Infinity 或 Infinity / 0 也得 Infinity 。Infinity * -Infinity 得 -Infinity。
Infinity - Infinity 得 NaN 。 Infinity / Infinity 得 NaN 。 Infinity * 0 得 NaN 。
Infinity == Infinity 为真。 Infinity.isNaN() 为假。 Infinity.isFinite() 为假。 Boolean(Infinity) 为真。
-Infinity 运算法则负数除以 0 得 -Infinity。
-Infinity 加或减任何有限数字都得 -Infinity 。-Infinity + -Infinity 或 -Infinity - Infinity 也得 -Infinity 。
-Infinity 乘或除以任何有限正数得 -Infinity 。-Infinity 乘或除以任何有限负数得 Infinity 。 -Infinity * Infinity 或 -Infinity / 0 也得 -Infinity 。-Infinity * -Infinity 得 Infinity。
-Infinity - -Infinity 得 NaN 。 -Infinity / -Infinity 得 NaN 。 -Infinity * 0 得 NaN 。
-Infinity == -Infinity 为真。 -Infinity.isNaN() 为假。 -Infinity.isFinite() 为假。 Boolean(-Infinity) 为真。
NaN 运算法则0 / 0 得 NaN 。上面也有一些得 NaN 的情况。
NaN 加、减、乘或除以任何数(包括 Infinity 、 -Infinity 和 NaN 本身)得 NaN 。
无论变量 x 取何值(包括 undefined 、 null 、 true 、 false 、 Infinity 、 -Infinity 和 NaN 本身),NaN ==x 恒为假。NaN.isNaN() 为真。 NaN.isFinite() 为假。 Boolean(NaN) 为假。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/357096.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【javascript高级教程】JavaScript 字符串(String) 对象

String 对象用于处理已有的字符块。 JavaScript 字符串 一个字符串用于存储一系列字符就像 "John Doe". 一个字符串可以使用单引号或双引号: var carname"Volvo XC60"; var carnameVolvo XC60; 你使用位置(索引)可以…

Chrome 开发工具之Network

经常会听到比如"为什么我的js代码没执行啊?","我明明发送了请求,为什么反应?","我这个网站怎么加载的这么慢?"这类的问题,那么问题既然存在,就需要去解决它,需要…

实用常识_实用垃圾收集,第1部分–简介

实用常识这是我打算写的一系列博客文章的第一部分,其目的是解释垃圾回收在现实世界中如何工作(尤其是在JVM中 )。 我将介绍一些我认为对于充分理解垃圾收集对于实际目的是必需的理论,但是将其降至最低。 其动机是在各种情况下&…

重写AgileEAS.NET SOA 中间件平台账号密码的加密算法

一、平台简介 AgileEAS.NET SOA 中间件平台是一款基于基于敏捷并行开发思想和Microsoft .Net构件(组件)开发技术而构建的一个快速开发应用平台。用于帮助中小型软件企业建立一条适合市场快速变化的开发团队,以达到节省开发成本、缩短开发时间,快速适应市…

Java中的堆栈安全递归

在本文中,摘自《 Java中的函数式编程 》一书,我解释了如何使用递归,同时避免了StackOverflow异常的风险。 Corecursion正在使用第一步的输出作为下一步的输入来构成计算步骤。 递归是相同的操作,但是从最后一步开始。 在这种情况…

数字化经营支付3.0有哪些盈利机会

实体商户的现状 服务商经营现状 官方政策支持 微信平台通过多渠道助力商户发放 优惠券,如扫码领券、API领券、支 付有礼、附近3公里等形式,给商户 做引流拓客。

nessus重置密码

许久不用的nessus密码居然忘记了,查了下: cmd下进入到nessus的安装目录 提升为管理员,登录系统 如果想用之前的账号,可以直接在系统内重置密码。转载于:https://www.cnblogs.com/nayu/p/5640527.html

程序员有哪些可以写博客的网站?

俗话说:好记性不如烂笔头,作为一名合格的程序员还是抽时间写写博客的,马云曾说“成功的人有两个特质,一个是喜欢写作,一个是喜欢演讲”,我觉得吧,写作一是为了总结,二是督促自己成长…

工厂方法设计模式示例

本文是我们名为“ Java设计模式 ”的学院课程的一部分。 在本课程中,您将深入研究大量的设计模式,并了解如何在Java中实现和利用它们。 您将了解模式如此重要的原因,并了解何时以及如何应用模式中的每一个。 在这里查看 ! 目录 …

jmx jolokia_使用Jolokia和JMX进行客户端服务器监视

jmx jolokiaJava监视工具的选择非常广泛(由Google提供的随机选择和顺序): javamelody 压力探头 JVisualVM 控制台 贾蒙 Java JMX Nagios插件不适用 此外,还有各种专用工具,例如ActiveMQ , JBoss &…

利用 %20 替换 空格

将字符串中的空格都替换为 %20 &#xff08; 时间复杂度为O&#xff08;N&#xff09;的解法 &#xff09; void ReplaceBlankSpace(char* arr){if (arr){int count 0;int lenth strlen(arr);for (int i 0; i < lenth;i)if (arr[i] )count;char*before arrlenth, *beh…

Node.js 官方文档中文版

这目录也是醉了 。 列出跟没列出没两样 转载于:https://www.cnblogs.com/ganmk--jy/p/5646860.html

Smaug Coverage

转载于:https://www.cnblogs.com/edisonxiang/p/5650656.html

图谱(学习地图)系列总结,持续更新中

目录 1.2022年最新前端学习路线图 2.2022年最新大数据学习路线图 3.2022年最新javaEE学习路线图 4.2022年最新UI/UE学习路线图 5.2022年java学习路线指南 6.JavaScript学习总结&#xff08;思维导图篇&#xff09; 7.思维脑图——数据分析实战&#xff08;最新版&#…

ccxt k线数据_寻找相似的历史k线

有网友提问应该用什么样的数据库/数据结构/算法来计算某支股票的相似K线? 具体的问题描述是&#xff0c;假设给出某股某段行情K线&#xff08;单位/日&#xff09;&#xff0c;从任何其他股票历史中匹配出与之最为相似的某段历史K线&#xff0c;并给出相似度值&#xff08;单位…

k均值例子 数据挖掘_数据挖掘的技术有很多种,常用的数据挖掘技术就这13种...

数据挖掘就是从大量的、不完全的、有噪声的、模糊的、随机的数据中&#xff0c;提取隐含在其中的、人们事先不知道的但又是潜在有用的信息和知识的过程。数据挖掘的任务是从数据集中发现模式&#xff0c;可以发现的模式有很多种&#xff0c;按功能可以分为两大类&#xff1a;预…

【TypeScript系列教程05】保留关键字

目录 TypeScript 保留关键字 TypeScript 保留关键字 TypeScript 保留关键字如下表所示&#xff1a;

中国剩余定理 互质与非互质版本

中国剩余定理互质版 设m1&#xff0c;m2&#xff0c;m3&#xff0c;...&#xff0c;mk是两两互素的正整数&#xff0c;即gcd(mi,mj)1&#xff0c;i!j&#xff0c;i,j1,2,3,...,k. 则同余方程组&#xff1a; x a1 (mod n1) x a2 (mod n2) ... x ak (mod nk) 模[n1,n2,...nk]有…

aix 的c库为什么都是静态库_卢卡库:若梅罗、莱万都在努力突破极限,为什么我不能做到呢...

直播吧12月8日讯 北京时间周四凌晨的欧冠小组赛末轮比赛&#xff0c;国米将在主场迎战顿涅茨克矿工。目前&#xff0c;蓝黑军团依然保留着些许出线希望。在这场比赛之前&#xff0c;国米射手卢卡库接受了《法国足球》的采访&#xff0c;他谈论了和孔蒂的关系、和劳塔罗的搭档以…

便携式不锈钢管道焊接机器人_304不锈钢管居然可以发黑?

大家好&#xff0c;我是圣联达不锈钢管材管件孙立成。今天有伙伴们问我&#xff0c;自己使用的304不锈钢管表面怎么发黑了。带着这个问题&#xff0c;今天我特意去梳理了有关304发黑的缘故及其解决方法。304不锈钢管实际上按照正常生产流程&#xff0c;好的304不锈钢管加工制做…