Number
在js中,所有的数值都是Number类型,包括整数和浮点数。
看看如下代码
<script type="text/javascript">
var a=111;
var b="111";
document.write(a);
document.write(b);
</script>
这里一个是字符串,一个是数值,显示出来没啥区别。
typeof
用typeof来检查变量类型。
<script type="text/javascript">
var a=111;
var b="111";
document.write(typeof(a));
document.write(typeof(b));
</script>
最大值
js中数字的最大值是Number.MAX_VALUE
<script type="text/javascript">
var a=Number.MAX_VALUE;
document.write(a);
</script>
能不能比他更大呢?试一下
<script type="text/javascript">
var a=Number.MAX_VALUE*10;
document.write(a);
</script>
不行。显示正无穷。此外,负无穷是-infinity。
NaN
拿两个字符串相乘,会咋样?
<script type="text/javascript">
var a="abc"*"bcd"
document.write(a);
</script>
返回NaN,not a number。
最小值
<script type="text/javascript">
var a=Number.MIN_VALUE
document.write(a);
</script>
这里的最小值指的不是负多少,而是最接近0的正数。
计算
<script type="text/javascript">
var a=123+1
document.write(a);
</script>
这里要注意,浮点数的运算会有不精确的问题,比如0.1加0.2,得到的可能是一个很接近0.3的值,但不等于0.3。背后机制我忘了,我记得以前学C++助教讲过。