基本数据类型强制转换
一、概念
指将一种数据类型转化为其他数据类型,主要指将其他基本数据类型,转化为:
- String
- Number
- Boolean
二、转换方法
1.转化为String类型
- 方式一:调用该数据类型的toString()方法,将转换结果返回,该方法不影响原变量的值
注意:null和undefined没有toString()方法
true.toString()
//"true"
123.toString()
//"123"
- 方式二:调用String()函数,比数据类型的toString()方法更实用
注意:null和undefined可以作为参数传入String()方法
String(true)
//"true"
String(123)
//"123"
String(null)
//"null"
String(undefined)
//"undefined"
2.转化为Number类型
- 方式一:调用 Number( ) 函数
- 字符串 —> 数字
- 纯数字的字符串,直接转为 对应数字
- 字符串有非数字的内容,转为 NaN
- 字符串是空串或全是空格字符,转为 0
- 布尔值 -> 数字
- true 转为 1
- false 转为 0
- null -> 数字
- 0
- undefined -> 数字
- NaN
- 方式二:专门用来对付字符串
- parseInt( )函数 从前往后读取字符串中的整数部分
- parseFloat( )函数 从前往后读取字符串中的小数部分
- 对于 非字符串类型 , 先转换为字符串,再从前往后读取字符串中的数值部分
巧方法:parseInt( )函数 取浮点数的整数部分 - 如,parseInt(“070”) 不同浏览器 有两种可能结果 70 和 56,070可能被当作八进制数56
- parseInt( )函数 可以传递第二个参数,表示数字的进制
parseInt("1123dawd456")
//1123
parseInt("11.23dawd456")
//11.23
parseInt("dawd456")
parseInt(null)
parseInt(undefined)
//NaN
parseInt(11.23)
//11
parseInt(070)
parseInt("070")
//70 或 56
parseInt("070",10)
//70
parseInt("070",8)
//56
3.转化为Boolean类型
使用Boolean( )函数
- 数字 -> 布尔值
- 除了 0 和 NaN 其他都是 true
- 字符串 -> 布尔值
- 除了 空字符串 其他都是 true
- null/undefined -> 布尔值
- false
- 对象 -> 布尔值
- true
字符串* 其他都是 true
- true
- null/undefined -> 布尔值
- false
- 对象 -> 布尔值
- true