var a; function a() { function a() { a=4 } a(); console.log(a); } a(); console.log(a)

求详细解答第三次输出为什是undefind,第四次输出为什么是number


你对这个回答的评价是?

下载百度知道APP抢鲜体验

使用百度知道APP,立即抢鲜体验你的手机镜头里或许有别人想知道的答案。

JavaScript 中的 number 类型就是浮点型JavaScript 中的浮点數采用IEEE-754 格式的规定,这是一种二进制表示法可以精确地表示分数,比如 1/21/8,1/1024每个浮点数占 64 位。但是二进制浮点数表示法并不能精确嘚表示类似 0.1 这样 的简单的数字,会有舍入误差 由于采用二进制,JavaScript 也不能有限表示 1/10、1/2 等这样的分数在二进制中,1/10(0.1)被表示为 0.…… 注意 0011 是无限重复的这是舍入误差造成的,所以对于 0.1 + 0.2 这样的运算操作数会先被转成二进制,然后再计算: 双精度浮点数的小数部分最多支持 52 位所以两者相加之后得到这么一串 0.1100... 因浮点数小数位的限制而截断的二进制数字,这时候再把它转换为十进制,就成了 0.00004

我要回帖

更多关于 literature 的文章

 

随机推荐