JS 中的【数据转换】
JavaScript 中的数据类型
- 基本数据类型
- string
- number
- boolean
- 复杂数据类型
- Object
- Function
- Date
- Array
在 js 中变量的声明很随便
var可以声明任意数据类型的变量
而且不同数据类型的变量可以赋值和转换
字符串转数字
1 | var str1 = '123'; |
- conclusion:
- 在js中遇到
-、*、/、%操作符时 - js引擎会尝试着先将操作符两边的数据转换成
number类型 - 如果成功则进行相应的操作,如果不成功则
NaN - 在使用
Number函数进行字符串强制转换数字类型时 - 无论是整数还是小数类型的字符串都会转换成相应的
number类型 - 字符串中含有除小数点之外的非数字字符时
NaN parseInt和parseFloat方法可以强制转换数字类型的字符串- 而且可以转换
数字+字母("123abc")类型的字符串 - 不过遇到
字母+数字("abc123")就会NaN
- 在js中遇到
数字转字符串
1 | var num = 123.456; |
- conclusion:
- 当一个数字类型的数据和空(
'')字符串进行加(+)运算时 - 会自动转换成
string类型 - 构造函数
String可以实现字符串的转换 - 在进行对象转换时其实调用了
toString方法toString可以进行字符串转换
- 当一个数字类型的数据和空(
数字和字符转换布尔类型
1 | var a = 123; |
- conclusion:
- 可以使用运算符进行隐式转换(
!!) - 也可以通过构造函数强制转换
null、数字0、undefined、空字符串''、NaN转换成false
- 可以使用运算符进行隐式转换(
布尔值转数字或字符串
1 | var bool1 = true; |
- conclusion:
- 在
boolean转number时 true转换成1false转换成0- 在
boolean转string时 true转换成'true'字符串false转换成字符串'false'- 在进行隐式转换时,在和字符串进行
+运算时转换成string类型 - 在和数字进行
+运算时转换成number类型 - 在进行
-、*、/运算时转换成number类型
- 在

