一、数据类型
1.NaN
在js中,NaN用来表示一个非数字的特殊值,当发现无法进行运算时,js不会报错,而是会返回一个NaN.
NaN的注意事项:
- NaN的类型是number类型的,表示一个非数字
- NaN不等于任何值,包括NaN本身
- 通过isNaN()可以判断是否是一个数字,返回false的时候,表示是一个数字。
问题:
计算机中的小数在进行运算的时候,有时会碰到小数点精度不准确的现象
原因:
计算机内部所能识别的数据只有二进制,当我们进行10进制数字运算的时候,在计算机内部需要先将数据转为2进制,然后运算,再将结果转为10进制给出来。10进制的小数进行2进制转换的时候,根据转换规则,有些小数会进行无限死循环,最终在后面数字太多的时候只能四舍五入,所以其实最终并没有很精确的转为2进制,所以只能给出一个大概的值。有时候会有两个大概的值相加,在转换10进制的时候正好能转换了,也会计算的比较精准。
解决办法:
// 1.根据小数点后面的位数量 乘以对应的整数;
0.1 + 0.2==> (0.1*10+0.2*10) / 10 = 0.3
// 2.使用toFixed工具强制保留小数点后位数
var a = 0.1 + 0.2
console.log(a.toFixed(3)) // 0.300
3.类型问题
问题:
有的时候数据类型不是自己想要的类型,如:prompt输入的内容不是数字型,这个时候想要进行计算就会发现无法计算。
解决办法:转换数据类型 1.强行转换语法,语法:
数据类型(数据)
;2.使用函数强制转换为数字,语法:
parseInt(arg) # 强制转换为整数
parseFloat(arg) # 强制转换为小数
【js dy1 感觉需要注意的地方】3.数学运算时转换为数字型
推荐阅读
- 前端|2022前端应该掌握的10个 JS 小技巧
- 项目|【Echarts项目】前端就业数据可视化(HTML+Less+JavaScript+jQuery)入门级
- react|React hook useEffect 与 计时器 setInterval
- js小工具|手机调试打开控制台方法vconsole
- 算法|js算法学习——选择排序
- 算法|[JS][dfs]题解 | #迷宫问题#
- Web|动态创建表格案例
- Web|Web API 实用案例
- Web|Web APIs 实用案例