自动数据类型转换
1.其中有一个操作数必须是字符串,运算符必须是+号,别的数据类型转换成字符串,进行字符拼接。
2.任何数据和字符串做加法以外的操作
<1>如果字符串是一个纯数字组成的字符串,字符串会转成对应的数字
<2>如果字符串不是纯数字组成的字符串,转成NaN,NaN和任何数据运算都是NaN.
3.除字符串以外的数据,在进行算数运算时,先转成数字,再进行运算
true转成1,false转成0,null转成0,undefined转成NaN
4.一个操作数是NaN,则==返回false,!=返回true;并且NaN和自身不等
强制类型转换
1.Boolean()将其他数据类型转换成布尔值
非0即真,非空即真。NaN,undefined都是假
2.Number()将其他数据类型转换成数字
只有纯数字组成的字符串才能转成数字,其他都为NaN
3.parseInt()取整;将别的进制转成十进制,必须传入字符串
var str="100010"
parseInt(str,2)
4.parseFloat()取浮点数
算数运算细节
1.计算机进行小数运算,有误差。(天生有bug)
2.金融账户存储整数,单位是分。
3.在JS中除数可以为0。结果为:Infinity或者-Infinity
恒等与恒不等
恒等:===必须内容和数据类型完全相等
恒不等: 必须内容和数据类型都不相等