本文涵盖了ES6中的新的和改进的数字方法(ecmascript 6)。
>这是有关ES6的新功能的系列的一部分,在其中我们还讨论了可用于字符串和数组数据类型的新方法,但也讨论了新类型的数据类型,例如MAP和FEAMMAP。>我将向您介绍添加到数字数据类型中的新方法和常数。正如我们将看到的那样,其中一些数字方法并不是什么新鲜事物,但是它们已得到改进和/或在正确的对象下移动(例如,isnan())。与往常一样,我们还将通过一些示例将新知识付诸实践。因此,事不宜迟,让我们开始。
>钥匙要点
ES6
介绍了几种新数字方法,包括number.isinteger(),number.isnan(),number.Siffinite(),number.issafeInteger(),number.parseint()和number.parsefloat()。 >- number.isinteger()检查传递的值是否为整数,number.isnan()测试是否值等于nan,而number.Siffinite()测试是否传递的值是有限的数字。
- number.issafeinteger()测试是否传递的值是一个安全整数,定义为一个可以完全表示为IEEE-754双重精度编号的整数。
- number.parseint()和number.parsefloat()并不是新事物,但它们已在数字对象下移动,以实现全球模块化。他们分析字符串参数并分别返回整数和浮点数。 ES6还引入了两个相关的常数值:number.max_safe_integer和number.min_safe_integer,代表JavaScript中的最大和最小安全整数。
- 我要涵盖的第一个方法是number.isinteger()。这是JavaScript的新补充,这是您过去自己定义和使用的东西。它确定传递给函数的值是否为整数。如果传递值是整数,则此方法将返回true,否则为false。这种方法的实现非常容易,但是本地进行本地化仍然很好。重新创建此功能的可能解决方案之一是:
这两个功能都很好且有用,但它们不尊重Ecmascript 6的规格。因此,如果您想对此方法进行多填充,则需要一些更复杂的东西,正如我们很快会看到的那样。目前,让我们从发现number.isinteger()的语法开始:
数字参数代表您要测试的值。
<span>Number.isInteger = Number.isInteger || function (number) { </span> <span>return typeof number === 'number' && number % 1 === 0; </span><span>}; </span>
使用此方法使用的一些示例如下:
<span>Number.isInteger = Number.isInteger || function (number) { </span> <span>return typeof number === 'number' && Math.floor(number) === number; </span><span>}; </span>>以下代码的实时演示如下所示,也可以在JSBIN上找到。
>除了Internet Explorer,该方法在节点和所有现代浏览器中都支持该方法。如果您需要支持较旧的浏览器,则可以使用一个多填充,例如方法页面上的Mozilla开发人员网络上可用的浏览器。为了方便起见,下面还复制了这一点:
<span>Number.isInteger = Number.isInteger || function (number) { </span> <span>return typeof number === 'number' && number % 1 === 0; </span><span>}; </span>> number.isnan()
>过去您编写了任何JavaScript代码,此方法对您来说不应该是新的。一段时间以来,JavaScript有了一种称为isnan()的方法,它通过窗口对象暴露。此方法测试值是否等于NAN,在这种情况下,它返回true或其他错误。 window.isnan()的问题是,它存在一个问题,因为它也返回true,因为
>转换为数字的值将为nan。为了让您对此问题有具体的想法,以下所有陈述返回true:
<span>Number.isInteger = Number.isInteger || function (number) { </span> <span>return typeof number === 'number' && Math.floor(number) === number; </span><span>}; </span>
>在这里,值是您要测试的值。该方法的一些示例用途如下:
><span>Number.isInteger(number) </span>如您所见,测试相同的值我们获得不同的结果。
>以下片段的实时演示如下所示,也可以在JSBIN上找到。
除了Internet Explorer,该方法在节点和所有现代浏览器中都支持该方法。如果您想支持其他浏览器,那么此方法的非常简单的多填充如下:<span>// prints 'true' </span><span>console.log(Number.isInteger(19)); </span> <span>// prints 'false' </span><span>console.log(Number.isInteger(3.5)); </span> <span>// prints 'false' </span><span>console.log(Number.isInteger([1, 2, 3])); </span>>
这项工作的原因是因为NAN是JavaScript中唯一的非反射值,这意味着它是唯一不等于自身的值。
>
number.Isfinite()此方法与上一个方法共享相同的故事。在JavaScript中,有一种称为window.isfinite()的方法,该方法测试是否传递的值是有限的数字。不幸的是,对于
<span>if (!Number.isInteger) { </span> <span>Number.isInteger = function isInteger (nVal) { </span> <span>return typeof nVal === 'number' && </span> <span>isFinite(nVal) && </span> nVal <span>> -9007199254740992 && </span> nVal <span> <span>Math.floor(nVal) === nVal; </span> <span>}; </span><span>} </span></span>>转换为一个数字的值,它也将返回true。此问题的示例如下:
出于这个原因,在ecmascript 6中,有一种属于数字的方法称为isfinite()。它的语法如下:
>在这里,值是您要测试的值。如果您从上一个片段中测试相同的值,则可以看到结果是不同的:>
<span>// prints 'true' </span><span>console.log(window.isNaN(0/0)); </span> <span>// prints 'true' </span><span>console.log(window.isNaN('test')); </span> <span>// prints 'true' </span><span>console.log(window.isNaN(undefined)); </span> <span>// prints 'true' </span><span>console.log(window.isNaN({prop: 'value'})); </span>>以下片段的实时演示如下所示,也可以在JSBIN上找到。
除了Internet Explorer,该方法在节点和所有现代浏览器中都支持该方法。您可以在MDN的方法页面上找到一个多填充。
>number.issafeInteger()
number.issafeinteger()方法是ES6的全新添加。它测试传递的值是否是一个安全整数的数字,在这种情况下,它返回了TRUE。安全整数定义为满足以下两个条件的整数:
- 该数字可以完全表示为IEEE-754双精度编号
-
该数字的IEEE-754代表不可能是将任何其他整数符合IEEE-754表示的结果。
> - >基于此定义,安全整数是 - (2
- 1)包含在2 53> 53 > 1的整数中。这些价值观很重要,我们将在本节的末尾进行更多讨论。>。
该方法的语法为:
>在这里,值是您要测试的值。该方法的一些示例用途如下:
><span>Number.isInteger = Number.isInteger || function (number) { </span> <span>return typeof number === 'number' && number % 1 === 0; </span><span>}; </span>
>该代码的实时演示如下所示,也可在JSBIN上找到。
除了Internet Explorer外,
<span>Number.isInteger = Number.isInteger || function (number) { </span> <span>return typeof number === 'number' && Math.floor(number) === number; </span><span>}; </span>请注意,此polyfill依赖于以前讨论过的number.isinteger()方法,因此您还需要对后者进行多填充。
> ecmascript 6还引入了两个相关的常数值:number.max_safe_integer和number.min_safe_integer。前者代表JavaScript中的最大安全整数 - 即2
53> 1-而后者是最小安全整数,即 - (253
1)。您可能会注意到,这些是我之前引用的相同值。<span>Number.isInteger(number) </span>
number.parseint()和number.parsefloat()
number.parseint()和number.parsefloat()方法在同一部分中介绍,因为与本文中提到的其他类似方法不同,它们已经存在于以前的Ecmascript中旧的全球版本。因此,您可以以到目前为止所做的方式使用它们,并且可以期待相同的结果。将这些方法添加到数字的目的是全球的模块化。
为了完整,我正在报告他们的语法:
>下面显示了此代码的实时演示,也可以在JSBIN上找到。
> 除了Internet Explorer,这些方法在节点和所有现代浏览器中都支持这些方法。如果您想将它们进行多填充,则可以简单地调用其相关的全局方法,如下所示:
><span>Number.isInteger = Number.isInteger || function (number) { </span> <span>return typeof number === 'number' && number % 1 === 0; </span><span>}; </span>
>浏览器支持
>以下图形描述了浏览器对ES6中内置数字对象的扩展的支持。鼠标在盒子上查看相应浏览器版本的百分比使用。
>我可以使用ES6数字吗? Caniuse.com主要浏览器中对ES6数字功能的支持数据。
ES6数字方法:总结
在本教程中,我们介绍了与数字数据类型一起使用的Ecmascript 6中添加的新方法和常数。值得注意的是,ES6还增加了我尚未提到的另一个常数。这是number.epsilon和代表一个和最小的值之间的差异大于一个数字的大于一个数字。在最后一个注释中,我们已经结束了数字数据类型的旅程。
>新的ES6数字方法是什么?它们如何工作?
ES6引入了几种新的数字方法,使与JavaScript中的数字更易于使用。其中包括number.Isfinite(),number.isinteger(),number.isnan(),number.parsefloat()和number.parseint()。这些方法中的每一个都执行特定功能。例如,number.Iffinite()检查值是否为有限数,而number.isinteger()检查值是否为整数。 number.isnan()检查值是否为nan(不是数字),number.parsefloat()和number.parseint()分别返回浮点数和整数。 epsilon方法在es6?
number.eps6中如何工作。ES6中的epsilon是一个新常数,代表两个代表数字之间的最小间隔。在比较浮点数的平等时,这特别有用。由于计算机中浮点数表示的方式,即使它们看起来也不完全相同。 number.epsilon可用于检查两个数字之间的差异是否小于最小的间隔,表明它们实际上相等。 ES6中的number.issafeinteger()方法用于确定值是否是安全整数。安全整数是一个可以完全表示为IEEE -754双精度编号的数字,这意味着它在 - (2^53 - 1)和2^53 - 1。确保在JavaScript中可以准确表示一个数字,这在某些数学操作中可能很重要。
> number.parseint()方法与global parseint()函数有何不同?数字对象的一部分。这意味着您可以将其称为数字对象上的方法,而不是作为独立函数。功能是相同的 - 它将字符串转换为指定的radix或base。 number.max_safe_integer和number.min_safe_integer常数ES6中代表JavaScript中的最大和最小安全整数值。安全整数是可以完全表示为IEEE-754双精度编号的整数。当您需要检查一个数字是否在安全整数范围内时,这些常数很有用,这在某些数学操作中可能很重要。
>>我如何在es6?
中使用number.Isfinite()方法是使用es6中的number.isfinite()方法来确定值是否为有限数字。这与全局isfinite()函数不同,该函数将其参数转换为数字,然后在测试它之前。 number.Iffinite()不执行此转换,因此仅在参数为有限数字时返回true,而如果参数是不能转换为数字的值。 eS6?
中的number.parsefloat()方法在es6中的number.parsefloat()方法在es6中的number.parsefloat()方法基本上与global parsefloat()函数相同,但它是数字对象的一部分。这意味着您可以将其称为数字对象上的方法,而不是作为独立函数。功能是相同的 - 它解析了一个字符串参数并返回浮点数。
如何在es6?
中使用number.isinteger()方法number.isinteger() ES6中的方法用于确定值是否是整数。如果该值是一个不是无穷大的,而不是NAN的数字,则此方法将返回true,并且可以在没有分数组件的情况下表示。当您需要检查一个数字是否是整数时,这很有用,这在某些数学操作中可能很重要。>
>新的ES6编号方法的实际应用是什么?
>新的ES6数字方法提供了更健壮,更精确的方法来使用JavaScript中的数字。它们可用于检查一个数字是有限的,整数,NAN还是安全的整数,并将字符串分解为数字。这些方法在需要精确控制数字的数学操作,数据验证以及其他任何地方都可能特别有用。
以上是为ecmascript做准备6:新数字方法的详细内容。更多信息请关注PHP中文网其他相关文章!

JavaScript框架的强大之处在于简化开发、提升用户体验和应用性能。选择框架时应考虑:1.项目规模和复杂度,2.团队经验,3.生态系统和社区支持。

引言我知道你可能会觉得奇怪,JavaScript、C 和浏览器之间到底有什么关系?它们之间看似毫无关联,但实际上,它们在现代网络开发中扮演着非常重要的角色。今天我们就来深入探讨一下这三者之间的紧密联系。通过这篇文章,你将了解到JavaScript如何在浏览器中运行,C 在浏览器引擎中的作用,以及它们如何共同推动网页的渲染和交互。JavaScript与浏览器的关系我们都知道,JavaScript是前端开发的核心语言,它直接在浏览器中运行,让网页变得生动有趣。你是否曾经想过,为什么JavaScr

Node.js擅长于高效I/O,这在很大程度上要归功于流。 流媒体汇总处理数据,避免内存过载 - 大型文件,网络任务和实时应用程序的理想。将流与打字稿的类型安全结合起来创建POWE

Python和JavaScript在性能和效率方面的差异主要体现在:1)Python作为解释型语言,运行速度较慢,但开发效率高,适合快速原型开发;2)JavaScript在浏览器中受限于单线程,但在Node.js中可利用多线程和异步I/O提升性能,两者在实际项目中各有优势。

JavaScript起源于1995年,由布兰登·艾克创造,实现语言为C语言。1.C语言为JavaScript提供了高性能和系统级编程能力。2.JavaScript的内存管理和性能优化依赖于C语言。3.C语言的跨平台特性帮助JavaScript在不同操作系统上高效运行。

JavaScript在浏览器和Node.js环境中运行,依赖JavaScript引擎解析和执行代码。1)解析阶段生成抽象语法树(AST);2)编译阶段将AST转换为字节码或机器码;3)执行阶段执行编译后的代码。

Python和JavaScript的未来趋势包括:1.Python将巩固在科学计算和AI领域的地位,2.JavaScript将推动Web技术发展,3.跨平台开发将成为热门,4.性能优化将是重点。两者都将继续在各自领域扩展应用场景,并在性能上有更多突破。

Python和JavaScript在开发环境上的选择都很重要。1)Python的开发环境包括PyCharm、JupyterNotebook和Anaconda,适合数据科学和快速原型开发。2)JavaScript的开发环境包括Node.js、VSCode和Webpack,适用于前端和后端开发。根据项目需求选择合适的工具可以提高开发效率和项目成功率。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

MinGW - 适用于 Windows 的极简 GNU
这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

EditPlus 中文破解版
体积小,语法高亮,不支持代码提示功能

Atom编辑器mac版下载
最流行的的开源编辑器

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3 英文版
推荐:为Win版本,支持代码提示!