小tips:JS数值之间的转换,JS中最大的Number是多少?,JS == 与 === 的区别

时间:2022-11-01 20:17:58

JS数值之间的转换

Number(), parseInt(),parseFloat()

Number()函数的转换规则如下:

1.如果boolean值,true和false将分别被转换为1和0
2.如果是数字值,只是简单的传入和返回
3.如果是null值,返回0
4.如果是undefined,返回NaN

因此,这儿可以考察Number()方法对null,undefined转化返回的结果是什么?

参考地址-《JavaScript高级程序设计》笔记:基本概念(三)

JS中最大的Number是多少?

浮点数范围:
as large as ±1.7976931348623157 × 10的308次方
as small as ±5 × 10的−324次方

精确整数范围:
The JavaScript number format allows you to exactly represent all integers between
−9007199254740992 and 9007199254740992 (即正负2的53次方)

即可使用Math.pow(2,53)得到结果;

数组索引还有位操作:
正负2的31次方

问题地址:http://cnodejs.org/topic/4fb3722c1975fe1e132b5a9a

JS == 与 === 的区别

1、对于string,number等基础类型,=====是有区别的
1)不同类型间比较,==之比较“转化成同一类型后的值”看“值”是否相等,===如果类型不同,其结果就是不等
2)同类型比较,直接进行“值”比较,两者结果一样

2、对于Array,Object等高级类型,=====是没有区别的
进行“指针地址”比较

3、基础类型与高级类型,==和===是有区别的
1)对于==,将高级转化为基础类型,进行“值”比较
2)因为类型不同,===结果为false