转化为字符串类型
js的数据类型是可以互相转换的 2 --> '2'
在js中只有函数后面才能加上()
toString
函数 能够把js的数据类型转换成字符串
toString
是js内置的函数
原始值:
1.数字类型转换为字符串类型 2 --> '2'
2. 布尔类型转换为字符串类型 true --> 'true'
3. null
/undefined
不能使用toString
函数 变成字符串
引用值:
1 普通对象转换为字符串类型 {} --> '[object Object]'
2. 数组对象转换为字符串类型 [1,2,3] --> '1,2,3'
数组里面可以放任何数据类型
如 var a = ['1','2',true,{},function(){}] 第一步给a赋值
a.toString()第二步用toString转换为字符串
'1,2,true,[object Object],function(){}'第三步转换为字符串的格式
3、函数对象转换为字符串类型 function(){} --> 'function(){}'
函数里面可以包裹很多句js代码的
如 var a = function(){第一步给a赋值
console.log(1)
}
a.toString()第二步用toString转换为字符串
'function(1){第三步转换为字符串的格式
console.log
}'
转换为布尔类型
Boolean
函数 能够把js的其他数据类型转换成布尔值
只有 0
、 NaN
、 undefined
、null
、 false
、''
转成布尔值是false
其他的所有js数据转成布尔值时都是 true
!
取反运算符
作用:对布尔值取反
例子
!
true
-->false
!
false
-->true
如果!
后面跟的不是布尔值 则
- 先把
!
后面的js数据 转成布尔值 - 在取反
例如
!
0 -->!
false --> true!
2 -->!
true --> false
结论:
!
会把其他数据类型先转换成布尔值,然后取反,这种情况称为隐式转换
思考 : !!
的作用是什么??
!!
的作用和Boolean函数的作用是一样的 都是把js的数据转换成布尔值
!!0 --> !true -->false
转换为数字类型
0
、1
、-1
、 1.0
、 0.5
、 NaN
(not a number) 这些都是数字类型
Number
函数 能够把其他js的数据类型转成数字类型
字符串中只要含有非数字(除了数字 负号和小数点之外的)在使用Number
函数转成数字类型时都是NaN
原始值:
字符串类型使用Number
函数转换成数字类型
- Number(
''
) --> 0 - Number(
'空格串'
) --> 0 - Number(
"2"
) -->2
布尔类型使用Number
函数转换成数字类型
- Number(
true
) --> 1 - Number(
false
) --> 0
null类型使用Number函数转换成数字类型
- Number(
null
) --> 0
undefined类型使用Number函数转换成数字类型
- Number(
undefined
) -> NaN
引用值:
引用值使用Number
函数转换成数字类型有两步**
- 先把引用值隐式转换成字符串类型
- 再把隐式转换好的字符串类型放到
Number
函数中
普通对象使用Number函数转换成数字类型
Number({}) --> Number('[object Object]') --> NaN
数组对象使用Number函数转换成数字类型
Number([1]) --> Number('1') --> 1
Number([1,2,3]) --> Number('1,2,3') --> NaN
函数对象使用Number函数转换成数字类型
Number(function(){}) --> Number('function(){}') --> NaN
isNaN
判断是不是NaN
isNaN
函数是js内置的一个函数
isNaN
这个函数可以判断一个数字是不是NaN
- 如果是 则结果
true
- 如果不是 则结果
false
如果用isNaN函数来判断其他js的数据类型 则会
- 先隐式转成数字类型
- 再把隐式转换好的数字类型放到
isNaN
中
结论:isNaN()这个方法会先把其他类型数据转化成数字类型,之后判断是不是NaN
isNaN(true) --> isNaN(1) -->false
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
提取数字parseInt
函数和parseFloat
函数
parseInt
和parseFloat
把字符串中的数字提取出来提取出来的数字为number
类型
parseInt
函数
从左向右提取数字
如果遇到数字之外(空格 小数点)的就会停止提取
parseFloat
函数
从左向右提取数字
如果遇到数字和小数点之外(空格)的就会停止提取