undefined null true false NaN
虽然都是 字符 但是他们都是 一种数值
不是字符串
执行 + 加号 运算时 执行的是 加法运算
'' "" 只有的带引号的内容,才是 字符串 才会执行字符串拼接
NaN + NaN ? NaN
因为 NaN 是数值 执行的是 加法运算
结果是 有 NaN 参与的算数运算,结果都是 NaN
自动转化: 计算机程序执行执行的
转化为布尔类型 : 一般在if() 中发生
false : 0 '' undefined null NaN 就这5个是false
true : 其他所有的数据,都是转化为 true
转化为字符串 : 字符串拼接时
基本数据类型 直接 转化为 字符串形式
引用数据类型
数组 : 将 [] 内的数据,转化为字符串
对象 : 一律转化为 [object Object]
函数 : 将函数的所有内容,都转化为字符串
转化为数值 : 执行数学运算时
布尔类型 : ture--->1 false--->0
undefined : NaN
null : 0
字符串 : 是纯数字的,会转化为对应的数值
有不符合数值规范的,转化为 NaN
强制转化 :
转化为布尔类型
Boolean(数值 / 变量)
原则就是 自动转化原则
不会改变,变量中存储的数值
转化为字符串
+ 字符串拼接
String(变量 / 数据)
原则与自动转化原则相同
不会改变变量中存储的数据
变量.toString(进制)
将数值,按照进制转化为对应的字符串输出
进制范围是 2-36
转化为数值
Number(数值/变量)
与自动转化原则相同
不会改变,变量中存储的数值
parseInt(数值/变量)
从数据的左侧起 获取数据的整数部分
布尔类型 undefined null 对象 函数 ---> NaN
数组 是获取数组中 第一个单元的 整数部分
有整数部分,执行结果就是这个整数部分的内容
没有整数部分,执行结果是 NaN
数值 整数正常获取 浮点数获取小数点之前的部分
字符串 整数,是正常获取
浮点数,获取整数部分,也就是小数点之前
科学计数法 获取 e字符串之前的整数部分
带有不符合数值规范的内容,获取从左侧起,符合整数规范的部分
parseFloat(数值/变量)
从数据的左侧起 获取数据的整数部分
布尔类型 undefined null 对象 函数 ---> NaN
数组 是获取数组中 第一个单元的 整数部分
有整数部分,执行结果就是这个整数部分的内容
没有整数部分,执行结果是 NaN
数值 整数,浮点数都是正常获取
字符串 整数,是正常获取
浮点数,是正常获取浮点数部分
科学计数法 会解析成浮点数来获取结果
带有不符合数值规范的内容,获取从左侧起,符合整数规范的部分