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
转换成1
false
转换成0
- 在
boolean
转string
时 true
转换成'true'
字符串false
转换成字符串'false'
- 在进行隐式转换时,在和字符串进行
+
运算时转换成string
类型 - 在和数字进行
+
运算时转换成number
类型 - 在进行
-
、*
、/
运算时转换成number
类型
- 在