JS 数字运算的有关问题,有点疑惑

JS 数字运算的问题,有点疑惑
第一个:
0.1+0.2 ===0.3
false
为什么是false

第二个
Number('abc');
NaN
为什么会返回NaN
我需要底层原理谢谢同学们
------解决方案--------------------
浮点计算精度的问题
alert(0.1+0.2);输出0.30000000000000004 

0.30000000000000004 不等于 0.3


------解决方案--------------------
1.浮点数精度误差
2.'abc'不能转为数字,得到了NaN