JavaScript学习之数据类型转换 - WangEnze1992/StudyNotes GitHub Wiki
JavaScript之数据类型转换
数据类型转换
将其他类型的值转换成String类型
- 任何类型的值都有一个toString方法, 通过这个方法, 可以将相应类型的值转换成字符串.
var iNum = 123;
var sStr = iNum.toString(); // 获得字符串123
- 如果是八进制或者十六进制也可以转换, 不过toString方法得到的依然是十进制的值
var iOctalNum = 0345;
var sOctalNUm = iOctalNum.toString(); // 得到的值是将八进制的0345转换成十进制的值229, 并变成String类型
- 如果想将十进制转换成其他进制的变量值, 可以再toString的参数中传入对应的进制值
var iNum = 123;
alert(iNum.toString(2)); // 1111011
alert(iNum.toString(8)); // 173
alert(iNum.toString(16)); // 7b
将字符串转换成数字
- JavaScript中提供了两个函数来将字符串转换成数字, 这两个函数是parseInt和parseFloat, parseInt可以将字符串转换成整数, parseFloat可以将字符串转换成浮点数:
var iNum1 = parseInt("1234xyz"); // 1234
var iNum2 = parseInt("0123"); // 83
var iNum3 = parseInt("43.3"); // 43
var iNum4 = parseInt("false"); // NaN
- 还可以使用parseInt函数将二进制,八进制, 十六进制的字符串转换成整数
alert(parseInt("110101", 2)); // 53
alert(parseInt("110101", 8)); // 36929
alert(parseInt("110101", 16)); // 1114369
- parseFloat只能转换十进制的字符串, 十六进制会转换成0,
var a = parseFloat("1234xyz"); // 1234
alert(parseFloat("22.4.4")); // 22.4
强制类型转换
-
在JavaScript中还可以使用强制类型转换来处理变量值的类型
-
Boolean(value): 把value中的值转换成Boolean类型.
-
Number(value): 把value中的值转换成数字(整数或者浮点数).
-
String(value): 把value中的值转换成字符串
-
首先来展示一下Boolean(value)的用法:
alert(Boolean("")); // false
alert(Boolean("abc")); // true(非空字符串都返回true)
alert(Boolean(100)); // true(非0数字都返回true)
alert(Boolean(0)); // false
- Number()的强制类型转换回转换整个值, 而parseInt()是转换部分值, 例如"12ab"parseInt()转换成12, 而Number()转换为NaN
alert(Number(false)); // 0
alert(Number(true)); // 1
alert(Number(undefined)); // NaN
alert(Number(null)); // 0
alert(Number("12.3")); // 12.3
- String的强制类型转换可以将null和undefined的值强转成对应的字符串
alert(String(null)); // "null"
alert(String(undefined)); // "undefined"
alert(String(true)); // "true"