一、无穷
在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中的数值类型主要分为整数...
以下是关于JavaScript数值范围和特性的详细说明: 1. **数值范围**: - **最大值**:JavaScript可以表示的最大数值是`Number.MAX_VALUE`,大约是1.7976931348623157乘以10的308次方。 - **最小值**:最小的可表示...
在JavaScript编程语言中,数值型数据类型是程序设计的基础元素之一。它涵盖了整数和浮点数,这两种类型的数值在各种计算和逻辑操作中都扮演着关键角色。本课件将深入探讨JavaScript中的数值型数据类型及其相关特性。...
JavaScript 是一种广泛使用的脚本语言,特别是在Web开发中,它提供了丰富的功能,其中包括将非数值类型的数据转换为数值类型的能力。在JavaScript中,有三种主要的方法可以实现这种转换:Number()、parseInt() 和 ...
数值章节涵盖了JavaScript中数值的处理方式,包括数值的表示、NaN、Infinity、parseInt和parseFloat方法等。对象章节则详细讲解了对象的生成、属性的读取和修改、以及对象引用等概念。特别地,还提到了类似数组的...
* 数值的类型和操作 * 字符串的类型和操作 * 对象的类型和操作 * 数组的类型和操作 函数 * 函数的定义和调用 * 函数的参数和返回值 * 函数的高阶函数和回调函数 * 函数的闭包和柯里化 对象 * 对象的定义和使用 *...
在JavaScript中实现网页倒计时是一项常见的任务,尤其在创建活动页面、竞赛倒计时或者定时发布内容等场景中非常实用。本篇文章将详细介绍如何利用JavaScript编写一个网页倒计时功能,并结合提供的`index.html`和`js`...
Javascript 将数值转换为金额格式(分隔千分位和自动增加小数点) 在本文中,我们将讨论如何使用 Javascript 将数值转换为金额格式,包括分隔千分位和自动增加小数点。这种格式通常用于会计记账和财务报表中。 知识...
在 JavaScript 中,数据类型包括字符串(string)、数值型(number)、布尔型(boolean)、null、undefined 和对象(object)。其中数组(array)属于对象,判断数据类型需要使用 typeof() 函数。 变量 变量的命名...
在给定的文件内容中,我们可以提取到关于JavaScript的多个知识点: 1. JavaScript的变量类型:JavaScript中主要有几种基本的变量类型,包括字符串、整型、浮点型、布尔型、数组、对象、JSON对象、NaN、null和...
JavaScript 基础复习大纲 DAY1 一、JavaScript 简介 JavaScript 是一种基于对象(Object)和事件驱动(Event Driven)、并具有安全性...* 特殊数值:NaN、Infinity(除数为零),所对应的判断函数 isNaN()、isFinite
JavaScript支持自动数据类型转换,比如在使用加法运算符(+)时,如果一个操作数是字符串,另一个是数值,JavaScript会自动将数值转换为字符串。例如,`"我今年" + 18`将得到结果`"我今年18"`。相反,如果使用其他...
JavaScript有六种基本数据类型:String(字符串)、Number(数值)、Boolean(布尔值)、Null(空值)、Undefined(未定义)和Object(对象)。这些类型构成了JS编程的基础,理解和掌握它们是学习JavaScript的第一步...
JavaScript还支持自动数据类型转换,例如在使用加法运算符"+"时,如果操作数之一是字符串,另一个是数值,JavaScript会将数值转换为字符串;而在其他运算符下,它会尝试将字符串转换为数值。这些特性使得JavaScript...
第五章“数值”和第六章“对象”分别介绍了在JavaScript中如何处理数值和对象。数值章节中讲解了数值的表示方法、NaN、Infinity、parseInt和parseFloat等方法。对象章节中讲述了对象的生成、属性的读取和修改、属性...
这个Javascript包实现了一些基本的数值优化算法。包括: Nelder-Mead, Gradient Descent, Wolf Line Search and Non-Linear Conjugate Gradient 方法。
- JavaScript的变量类型包括:数值、字符串、布尔值、null、undefined、对象和Symbol(ES6新增)。 - 特殊数值包括NaN(非数字)、Infinity(正无穷大)和-Infinity(负无穷大)。 - 判断是否为数字可使用`isNaN...
这个压缩包文件“JavaScript基础知识例子.zip”包含了多个HTML文档,每个文档详细介绍了JavaScript的基础知识,特别是关于数据类型、Object类型以及内置对象的概念。 首先,让我们深入探讨JavaScript的数据类型。在...