number():
将一个数值转换为数值
如果是一个布尔值,要么被转换为1,要么被转换为0
如果是数字,那么该是多少,就是多少
如果是null值,会被转换为0
如果是undefined,会被转换为NaN
字符串转换为数字:
如果字符串里面只包含数字,那么只会被转换为十进制
如果字符串为空,将会被转换为0
如果有字母,那么就将会被转换为NaN
如果字符串是八进制,那么会忽略前面的0,但是如果是16进制的话,会转换为相应的十进制数
parseInt():
该函数会更多的看是否有数字,如果有就会被转换为数字;如果字符串为空,将会被转换为NaN。还有一点就是,如果是3.14,那么会被转换为3。
事实上,我们parseInt()函数提供了第二个参数,指定转换为几进制。
parseFloat():
该函数只能解析10进制,所以没有第二个参数。会将带有小数点的字符串转换为小数
在JavaScript中,数值转换一般有三种方式:
一、Number(param)函数:param可以用于任何数据类型
1.1 param是Boolean值,true和false分别转换为1和0;
1.2 param是数值,只是简单的传入和返回
1.3 param是null和undefined,分别返回0和NaN
toString() 方法:以字符串返回数组,所有数字方法可用于任意类型的数字。
var x = 11;
x.toString(); // 从变量 x 返回 11
(11).toString(); // 从文本 11 返回 11
(10 + 1).toString(); // 从表达式 10 + 1 返回 11
![](<> "点击并拖拽以移动")
Number() :返回数字,由其参数转换而来。 可用于把JS变量转换为数值:
x = true;
Number(x); // 返回 1
x = false;
Number(x); // 返回 0
x = new Date();
Number(x); // 返回 1404568027739
x = "10"
Number(x); // 返回 10
x = "10 20"
Number(x); // 无法转换为数字 则返回 NaN
![](<> "点击并拖拽以移动")
var num1 = parseInt("10", 2); //2 (按二进制解析)
var num2 = parseInt("10", 8); //8 (按八进制解析)
var num3 = parseInt("10", 10); //10 (按十进制解析)
var num4 = parseInt("10", 16); //16 (按十六进制解析)