js匹配数组中对应的值_js中的值数字

数字

JavaScript 只有一种数值类型:number(数字),包括“整数”和带小数的十进制数。此处 “整数”之所以加引号是因为和其他语言不同,JavaScript 没有真正意义上的整数,这也是 它一直以来为人诟病的地方。这种情况在将来或许会有所改观,但目前只有数字类型。

JavaScript 中的“整数”就是没有小数的十进制数。所以 42.0 即等同于“整数”42。

与大部分现代编程语言(包括几乎所有的脚本语言)一样,JavaScript 中的数字类型是基 于 IEEE 754 标准来实现的,该标准通常也被称为“浮点数”。JavaScript 使用的是“双精 度”格式(即 64 位二进制)。

网上的很多文章详细介绍了二进制浮点数在内存中的存储方式,以及不同方式各自的考 量。要想正确使用 JavaScript 中的数字类型,并非一定要了解数位(bit)在内存中的存储 方式。

数字的语法

JavaScript 中的数字常量一般用十进制表示。

例如:

var a = 42;

var b = 42.3;

数字前面的 0 可以省略:

var a = 0.42;

var b = .42;

小数点后小数部分最后面的 0 也可以省略:

var a = 42.0;

var b = 42.;

默认情况下大部分数字都以十进制显示,小数部分最后面的 0 被省略,如:

var a = 42.300;

var b = 42.0;

a; // 42.3

b; // 42

特别大和特别小的数字默认用指数格式显示,与 toExponential() 函数的输出结果相同。

4ccca475a3654b3410403ccc07f8efef.png

由于数字值可以使用 Number 对象进行封装,因此数字值可以调用 Number.

prototype 中的方法。例如,tofixed(..) 方法可指定小数部分的显示位数:

fa1911adf1b113b9afb88309a042760b.png

请注意,上例中的输出结果实际上是给定数字的字符串形式,如果指定的小数部分的显示 位数多于实际位数就用 0 补齐。

toPrecision(..) 方法用来指定有效数位的显示位数:

627267006ae50badfa789955143c5ab7.png

上面的方法不仅适用于数字变量,也适用于数字常量。不过对于 . 运算符需要给予特别注 意,因为它是一个有效的数字字符,会被优先识别为数字常量的一部分,然后才是对象属 性访问运算符。

30754b2dbe375a2583d7d7d9a6d1dad5.png

42.tofixed(3) 是无效语法,因为 . 被视为常量 42. 的一部分(如前所述),所以没有 . 属 性访问运算符来调用 tofixed 方法。

42..tofixed(3) 则没有问题,因为第一个 . 被视为 number 的一部分,第二个 . 是属性访问 运算符。只是这样看着奇怪,实际情况中也很少见。在基本类型值上直接调用的方法并不 多见,不过这并不代表不好或不对。

下面的语法也是有效的(请注意其中的空格):

42 .toFixed(3); // "42.000"

然而对数字常量而言,这样的语法很容易引起误会,不建议使用。

我们还可以用指数形式来表示较大的数字,如:

var onethousand = 1E3; // 即 1 * 10^3

var onemilliononehundredthousand = 1.1E6; // 即 1.1 * 10^6

数字常量还可以用其他格式来表示,如二进制、八进制和十六进制。

当前的 JavaScript 版本都支持这些格式:

0xf3; // 243的十六进制

0Xf3; // 同上

0363; // 243的八进制

ES6 支持以下新格式:

0o363; // 243的八进制

0O363; // 同上

0b11110011; // 243的二进制

0B11110011; // 同上

考虑到代码的易读性,不推荐使用 0O363 格式,因为 0 和大写字母 O 在一起容易混淆。建 议尽量使用小写的 0x、0b 和 0o。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值