1.2 数据类型的转换
1.2 数据类型的转换 在js中,只有函数才能加上括号()
1.2.1转换为字符串toString (把其他类型的值转换成字符串,字符串是被一对单引号或者双引号包裹的数据 ‘false’)
写法: 要转换的数据.toString() 或者 举例: var a=1; a.toString()
原始值:
数字类型转换成字符串类型 2 --> '2'
布尔类型转换成字符串类型 true --> 'true'
null/undefined不能使用toString函数 变成字符串
引用值:
普通对象 {} --> '[object Object]'
数组对象 [1,2,3] --> '1,2,3'
函数对象 function(){} --> 'function(){}'
1.2.2 转换为布尔值 把其他类型的值转换成布尔值
1.只有六种情况Boolean(被转换的数据)的结果是false,其余全是true
0 , NaN, ’’, undefined ,null , flase
2.感叹号!取反运算符 作用:对布尔值取反 (!:隐式类型转换)
!true --> false
!false --> true
如果!后面跟的不是布尔值,则先把!后面的JS数据转成布尔值,再取反
!1 ---> false Boolean(1) --> true Boolean(true)-->false
!0 ---> true
1.2.3 转换为数字类型 把其他类型的值转换成数字
写法:Number(要转换的数据)
0,1,-1,1.0,0.5,NaN 这些都是数字类型的;
NaN(not a number) :不是一个正常的数字。
原始值:
* 字符串中只要含有非数字(除了数字 负号 和小数点之外的),在使用Number函数转成数字类型时都是NaN
Number('') --> 0 Number(' ') --> 0
* 布尔类型使用Number函数转换成数字类型 true是1 false是0
Number(true) --> 1 Number(false) --> 0
* null类型使用Number函数转换成数字类型
Number(null) --> 0
* undefined类型使用Number函数转换成数字类型
Number(undefined) --> NaN
引用值:
引用值使用Number函数转换成数字类型有两步
1.先把引用值隐式转换成字符串(牢记)
2.再把隐式转换好的字符串放到Number中
* 普通对象使用Number函数转换成数字类型
Number([1]) --> Number('1') --> 1
Number([1,2,3]) --> Number('1,2,3') --> NaN
Number(function(){}) --> Number('function(){}') --> NaN
+ 号 也可以变成数字类型
1.2.4 isNaN函数
判断一个数字是不是NaN,如果是,则结果是true;如果不是,则结果是false
如果用isNaN函数来判断其他JS的数据 则会
1.先隐式转成数字类型
2.再把隐式转换好的数字放到isNaN函数中
isNaN(true) --> isNaN(1) -->false
Number(true)-> 1 isNaN(1):1是不是一个不正常的数字,不是,返回flase
isNaN(function(){}) --> isNaN(NaN) --> true
isNaN([1,2]) --> isNaN(NaN) --> true
isNaN([1]) --> isNaN(1) --> false
isNaN('12.5px') --> isNaN(NaN) --> true
isNaN(null) --> isNaN(0) --> false
isNaN(undefined) --> isNaN(NaN) --> true
1.2.5 parse函数
parseInt函数
* 从左向右提取数字
* 如果遇到数字之外(空格 小数点)的就会停止提取

parseFloat函数
* 从左向右提取数字
* 如果遇到数字和小数点之外(空格)的就会停止提取
如果要转换的数据是string类型 ’12.5px’==>12.5 ‘’==>NaN
括号里面除了字符串(“数字+其他”),数组对象外,其他都是NaN

浙公网安备 33010602011771号