-
四、数据类型转化
-
1.数据类型显示转化
-
数据类型强制转化
-
Number() 强制将一个其他类型的数据转化为数字类型,转不了就NaN
-
string——>number
-
如果字符串整体来看是一个数字,那么就转化为这个数字
-
通过这个字符串整体看起来不是一个数字,那么就转化为NaN
-
如果字符串是一个特殊的空字符串''或空白字符串' ',那么转换为0
-
''--->0
-
' '--->0
-
-
-
boolean--->number
-
true--->1
-
false--->0
-
-
undefined--->number
-
undefined--->NaN
-
-
null--->number
-
null--->0
-
-
小结:只要转化字符串除拼接外,都是看整体是不是一个数字,是就转化为数字后运算
-
-
String(): 强制将一个其它类型数据转化为字符串类型
-
转化字符串没有什么特殊,只要个东西,都给你加上一个“”,输出字符串
-
-
Boolean(): 强制将一个其他的数据类型转化为一个boolean类型
-
转化数字的时候,除了0是false,其余都是true
-
0---->false
-
-
转化字符串的时候,除了空字符串‘’是false,其余都是true
-
‘’---->false
-
-
转化undefined和null都是false
-
undefined---->false
-
null---->false
-
-
转化false是false
-
false---->false
-
-
NaN--->false
-
-
-
数据类型手动转化 (就是再字符串中提取数字)
-
parseInt()
-
作用
-
将其他数据类型转化为数值型
-
-
转化规则
-
1,忽略字符串前面的空格,直到找到第一个非空的字符串
-
2.如果第一个字符串不是数字或是负号,返回NaN
-
3.空字符串,返回NaN
-
4.如果第一个字符串为数字,那么就继续解析第二个子串,以此类推,直到碰到非数字类型的子串停止
-
5.如果字符串以0x开头且后面跟着数字字符,就会将其转化为十进制数,同样其它进制也是一样
-
-
括号中的要不是字符串也会先转化为字符串后,在执行函数
-
-
parseFlaot()
-
从头到尾解析,结果遵循以下规则
-
1.第一个小数点是有效的,第二个小数点无效
-
2.始终忽略前面的0,不分进制
-
3.十六进制会转化为0
-
4.科学计数法,转化为科学计数法的数
-
5.空字符串转化为NaN
-
6.普通的非空字符串、非数字--->NaN
-
-
括号中的要是不是字符串也会先转化为字符串后,在执行函数
-
-
-
-
2.数据类型隐式转化
-
各种类型在运算中的适当的场合会发生也是转化
-
记住显示转化
-
-
隐式转化在对数组,对象数据类型来说,会先将他们转换为string类型,之后再转化为其他数据类型就行运算比较等
-
-
-
五、基本数据类型的运算和比较
-
同种数据类型之间的数值运算和比较
-
number与number
-
运算(+,-,*,/,%)
-
该怎么计算怎么计算
-
特殊情况
-
0/1--->0
-
1/0--->infinity
-
0/0--->NaN
-
-
-
比较(>,<,>=,<=,==,!=,===,!==)
-
该怎么比较就怎么比较
-
-
-
string与tring
-
运算(+,-,*,/,%)
-
+ 字符串的拼接
-
-
-
/ % 先转化为数字,后做运算
-
-
-
-
比较(>,<,>=,<=,==,!=,===,!==)
-
比较的是字符串之间的unicode码值
-
-
-
boolean与boolean
-
运算(+,-,*,/,%)
-
先转化为数字,后运算
-
-
比较(>,<,>=,<=,==,!=,===,!==)
-
先转化为数字,后运算
-
-
-
undefined与undefined
-
比较/运算
-
先转化为数字,后运算
-
-
-
null与null
-
比较/运算
-
先转转化为数字,后运算
-
-
-
-
不同数据类型之间的数值运算和比较
-
number和其它类型比较、运算
-
number和string
-
运算(+,-,*,/,%)
-
+ 拼接操作
-
*-/% 先转化为数字后运算
-
-
比较(>,<,>=,<=,==,!=,===,!==)
-
先转化为数字后运算
-
-
-
number和boolean
-
运算(+,-,*,/,%)
-
+ 拼接操作
-
*-/% 先转化为数字后运算
-
-
比较(>,<,>=,<=,==,!=,===,!==)
-
先转化为数字后运算
-
-
-
number和undefined
-
运算(+,-,*,/,%)
-
+ 拼接操作
-
*-/% 先转化为数字后运算
-
-
比较(>,<,>=,<=,==,!=,===,!==)
-
先转化为数字后运算
-
-
-
number和null
-
运算(+,-,*,/,%)
-
+ 拼接操作
-
*-/% 先转化为数字后运算
-
-
比较(>,<,>=,<=,==,!=,===,!==)
-
先转化为数字后运算
-
-
-
-
string和其他类型比较、运算
-
string和boolean
-
运算(+,-,*,/,%)
-
+ 拼接操作
-
*-/% 先转化为数字后运算
-
-
比较(>,<,>=,<=,==,!=,===,!==)
-
先转化为数字后运算
-
-
-
string和undefined
-
运算(+,-,*,/,%)
-
+ 拼接操作
-
*-/% 先转化为数字后运算
-
-
比较(>,<,>=,<=,==,!=,===,!==)
-
先转化为数字后运算
-
-
-
string和null
-
运算(+,-,*,/,%)
-
+ 拼接操作
-
*-/% 先转化为数字后运算
-
-
比较(>,<,>=,<=,==,!=,===,!==)
-
先转化为数字后运算
-
-
-
-
boolean和其他类型比较、运算
-
boolean和undefined
-
运算(+,-,*,/,%)
-
+ 拼接操作
-
*-/% 先转化为数字后运算
-
-
比较(>,<,>=,<=,==,!=,===,!==)
-
先转化为数字后运算
-
-
-
boolean和null
-
运算(+,-,*,/,%)
-
+ 拼接操作
-
*-/% 先转化为数字后运算
-
-
比较(>,<,>=,<=,==,!=,===,!==)
-
先转化为数字后运算
-
-
-
-
undefined和其他类型比较、运算
-
undefined和null
-
运算(+,-,*,/,%)
-
+ 拼接操作
-
*-/% 先转化为数字后运算
-
-
比较(>,<,>=,<=,==,!=,===,!==)
-
先转化为数字后运算
-
-
-
-
null和其他类型比较、运算(特殊情况)
-
false和null不相等
-
字符串类型和null都不相等
-
数字和null都不行等
-
数组\对象和null都不相等
-
undefined和null相等
-
-
小知识点
-
NaN不等于NaN
-
NaN转为boolean为false
-
-
-
小结
-
第一步
-
先看是不是 + 如果是+ 那么看两边有没有字符串,有就是字符串的拼接
-
-
第二步
-
再看是不是比较 如果是比较,看两边是不是都是字符串,如果是 比较的是字符串的unicode码值
-
-
第三步
-
全部转化为数字后进行运算、比较
-
-
-
数据类型的转化小结
最新推荐文章于 2022-03-16 22:35:12 发布