一、无穷
在JavaScript中,当数值远远大于其能表示的最大值(1.7976931348623157e+308)时,就会表示成Infinity / -Infinity(正无穷/负无穷),此外,在JavaScript中除数为0的结果并不会报错,其结果也会是Infinity。另外,在JavaScript中0有+0(通常的0)和-0(负0)之分,虽然他们在值上都是0。
var maxNum = Number.MAX_VALUE;
alert(maxNum); //Number所能表示的最大数值:1.7976931348623157e+308
alert((maxNum + 9e+100) == maxNum); //true,因为此时已经达到最大值,所以前者的9e+100已经被忽略了
alert((maxNum + 1e+292) == maxNum); //false,因为前者已经是Infinity。
//具体是不是加上1e+292就成无穷大不太清楚,这只是粗略测试的值
alert(maxNum + 1e+292); //Infinity
var minNum = Number.MIN_VALUE;
alert(minNum); //Number所能表示的最接近0的正数:5e-324
alert(minNum/2); //0,因为已经小于Number所能表示的最小数了
alert(typeof(Infinity)); //Number
alert(typeof(-Infinity)); //Number
alert(+0 == -0); //true,值都为0
alert(1/0); //Infinity,不会报错
alert(1/-0); //-Infinity,不会报错
alert(0/0); //NaN,不会报错
//isFinite()函数可以判断参数是否为有限的数值
alert(isFinite(Infinity)); //false
alert(isFinite(-Infinity)); //false
alert(isFinite(123)); //true
alert(isFinite("123")); //true,数值型字符串会被转换成数字
alert(isFinite("1a3")); //false
二、NaN
NaN表示Not a Number(不是一个数值)。我们不能使用“==”将它与任何变量相比较,因为这样的结果总是为false,包括与自身的比较。因此不能通过与NaN的比较判断一个变量是否为数值,而要通过isNaN()函数。
alert(typeof(NaN)); //Number
alert(NaN == NaN); //false
alert("abc" == NaN); //false
alert(isNaN(123)); //false
alert(isNaN("123")); //false,数值型字符串会转换成数字
alert(isNaN(NaN)); //true
alert(isNaN("abc")); //true
alert(isNaN(Infinity)); //false
三、浮点数的精度误差
JavaScript中使用是IEEE-754浮点数运算标准,其存在精度误差,在某些情况下,它不能绝对精确地表示一些在我们看来非常简单的数值(例如0.1)。
var n = 0.3-0.2;
var m = 0.2-0.1;
alert(n); //结果为0.09999999999999998
alert(m); //结果为0.1
分享到:
相关推荐
主要给大家介绍了关于JavaScript数值类型知识汇总的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用JavaScript具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
javascript将非数值转换为数值.docx
JavaScript程序设计 数值型 2.4.1 数值型 1、数据类型简介 在计算机中,不同的数据所需占用的存储空间是不同的,为了便于把数据分成所需内存大小不同的数据,充分利用存储空间,于是定义了不同的数据类型。 2.4.1 ...
这个Javascript包实现了一些基本的数值优化算法。包括: Nelder-Mead, Gradient Descent, Wolf Line Search and Non-Linear Conjugate Gradient 方法。
javascript 实现网页 倒计时 代码
全书共分24章,包括初识JavaScript、JavaScript基础、流程控制、函数、JavaScript对象与数组、字符串与数值处理对象、正则表达式、程序调试与错误处理、事件处理、处理文档(document对象)、文档对象模型(DOM对象...
资源名称:...第二部分“Javascript编程”,包括第4章到第7章,介绍了Javascript的数据类型,例如数值、字符串和数组;以及较为复杂资源太大,传百度网盘了,链接在附件中,有需要的同学自取。
Javascript将数值转换为金额格式(分隔千分位和自动增加小数点)_.docx
Javascript数值数学实用程序 概述 kmath是Javascript实用程序函数的集合,用于执行Javascript中未内置的数字(而不是代数)数学,尤其是几何计算。 例如,某些计算很容易使用矢量来表达,但是很难用原始实数变量来...
javaScript 数值型和字符串型之间的转换
javascript的数值精确计算类bigdecimal,改编自java的bigdecimal
主要介绍了JavaScript中的数值范围介绍,本文是对JavaScript中Number类型的追根究底,读完本文将会对Number类型有一个彻底了解,需要的朋友可以参考下
不过经过俺的小小努力之后, 终于让俺摸着门道喽, 问题也就理所当然滴解决掉. 然后就写了个公式, 这样应该可以消失掉这个用法了, 公式: 1. 从1开始 至 任意值 linenum parseInt(Math.random()*上限+1);...
其属性是数学中一些常见的常数值,在程序中可以直接使用。Math对象的方法很多,主要完成一些常见的数学运算,如三角函数计算、乘方、开方、求对数等。在 Math 对象的方法中,除了random()之外的所有方法都需要一个或...
1.JavaScript的数值处理对象学习 .txt 2.JavaScript的系统函数学习 .txt 3.js中用于对象的语句——with和for...in语句学习专题.txt 4.smallSoftkey小软键盘,大键盘 5.window.open参数详解 .txt 6....
Hyper Text Markup Language 超文本 (文字+图片+音视+链接…) 标记语言 (浏览器根据标记显示内容) 来自于SGML(标准通用标记语言) ... //数值型变量 y=“4321”; //字符型变量 代码格式不一样 嵌入方式不一样
猜一个数值.rar猜一个数值.rar猜一个数值.rar猜一个数值.rar猜一个数值.rar猜一个数值.rar
在JavaScript中,数值转换一般有三种方式: 一、Number(param)函数:param可以用于任何数据类型 1.1 param是Boolean值,true和false分别转换为1和0; 1.2 param是数值,只是简单的传入和返回 1.3 param是null和...
parseInt()不能转换浮点型数值,我们用parseFloat()来解决。这篇文章主要介绍了javascript将非数值转换为数值,需要的朋友可以参考下
源文件程序天下JAVASCRIPT实例自学手册 第1章 JavaScript语言概述 1.1 JavaScript是什么 1.1.1 JavaScript简史 1.1.2 JavaScript有何特点 1.2 JavaScript能做什么 1.2.1 表单数据合法性验证 1.2.2 页面特效 1.2.3 ...