JS(3)数据类型Number

1.JS数据类型分为原始类型和引用类型
(a)原始类型:
number,string,boolean,undefined,null
(b)引用类型:
array,object,function
2.number:
(1)在JS里如果要用八进制表示数字,要在数字前面加入一个0

var oNum=070;
document.write(‘oNum=+oNum+<br>);

运行结果为:oNum=56
十六进制就是加0x
(2)科学记数法
1.12E2表示的是1.12*(10^2),小写的e也是可以的
(3)找计算机里的最大值与最小值:

var bNum=Number.MAX_VALUE;
document.write('bNum='+bNum+'<br>');

var sNum=Number.MIN_VALUE;
document.write('sNum='+sNum+'<br>');

运行结果:
在这里插入图片描述
找到一个比sNum还小的数字,那么计算机就会默认它为0.
因为计算机里的数字是离散的,要么是这个数要么是那个数,中间有些数字是不可表达的。最小值指的是大于0的最小值
(4)

iNum=Number.POSITIVE_INFINITY;
document.write('iNum='+iNum+'<br>');

positive表示正,infinity表示无限的意思。
表示的是无限大的数,显示结果为:iNum=Infinity。
即这个数是比MAX_VALUE还大的数。
如果代码为:

iNum=Number.MAX_VALUE*1.1;
document.write('iNum='+iNum+'<br>');

运行结果为
iNum=Infinity
虽然两个数的数值不等,但是在计算机里超过最大值就把它认定为最大值,所以两个infinity是无法比较大小的。证明:

iNum=Number.MAX_VALUE*1.1;
document.write('iNum='+iNum+'<br>');
document.write('iNum==Number.POSITIVE_INPINTY='+(iNum==Number.POSITIVE_INFINITY)+'<br>');

运行结果:
在这里插入图片描述
但是如果去掉中间的括号则其他东西都没有了,直接出现了一个false。这与运算符的优先级有关。
因为运算有优先级,+的优先级大于==。所以在去掉()以后,先进行加法运算,然后才是==的判断
在这里插入图片描述
两个字符串不相等,所以输出为false
在这里插入图片描述
isFinite()判断是否是有限的。
判断一个数是否超过最大的数用这个方式判断。如果超过输出false,如果没有则输出true。
(5)JS面试经常问:
NaN意义:说明不是一个数。
在这里插入图片描述
输出:
在这里插入图片描述

甚至在document里把NaN改成iNum,结果也是false
严格等也是false(===);
那么要判断NaN就要用一个函数:isNaN:
在这里插入图片描述
输出的是(isNaN)true

发布了75 篇原创文章 · 获赞 14 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_44652687/article/details/95226253