题目
var a =0.1,b=0.2;
console.log(fn());
console.log(c);
console.log(d);
function fn(){
c = a+b;
console.log(+ '0.1' == a);
console.log(c)
console.log(c === 0.3);
}
问:输入结果是什么?
解析:此题有三处考点
1.浮点数0.1和0.2相加,得出结果是 0.30000000000000004
2.变量提升:在fn中没有定义c,直接使用,变量提升为全局变量,所以 c = 0.1 + 0.2 = 0.30000000000000004,所以 c===0.3 为false
3.隐式转换: 字符串 0.1 与加号结合,转为了数字型
最终输出结果为:
true, false
0.3000000000000000000000004
false
网友评论