Number() 和 parseInt() 都可以用来进行数字的转换, 那么 parseInt() 和 Number() 之间的区别是什么? 下面本篇文章就来给大家介绍一下 parseInt() 和 Number() 之间的区别, 希望对大家有所帮助.
parseInt() 函数:
parseInt() 函数用于解析字符串并将其转换为指定基数的整数. 它需要两个参数, 要解析的字符串和要使用的基数. 基数是一个介于 2 和 36 之间的整数, 表示数字的基数.
如果 parseInt() 在解析过程中遇到不符合指定基数的字符, 它将忽略该字符和所有后续字符. 然后它将解析到该点的值作为一个整数返回. 在这种情况下, 允许使用前导或尾随的空格.
如果 parseInt() 函数得到参数如果以数字开头, 就会返回开头的合法数字部分; 如果以非数字开头, 则它将返回 NaN. 此 NaN 值不是任何基数的有效数字, 不能用于任何数学计算.
语法:
parseInt(string, radix)
Number() 函数:
Number() 函数用于创建基本类型 Number 对象. 它接受一个参数, 即数字的值. 此值可以使用字符串传递, Number 函数将尝试将其表示为数字. 如果参数无法转换为数字, 则返回 NaN 值. 此 NaN 值不是有效数字, 不能用于任何数学计算.
语法:
Number(valueString)
parseInt() 和 Number() 之间的区别
下面通过实例来看看 parseInt() 和 Number() 之间的区别.
示例 1:
这个例子显示 parseInt() 试图将值转换为可以转换为整数的最后一个字符. 后面的空白和字符将被忽略, 因为它们是无效的. 另一方面, Number() 函数只返回 NaN.
- <!DOCTYPE html>
- <HTML>
- <head>
- <meta charset="UTF-8">
- <title>
- parseInt() 和 Number() 之间的区别
- </title>
- </head>
- <body>
- <h2>
- parseInt() 和 Number() 之间的区别
- </h2>
- <p>
- 字符串为: 10.6 objects
- </p>
- <p>
- parseInt 的输出为:
- <span class="parseOutput">
- </span>
- </p>
- <p>
- Number 的输出为:
- <span class="numberOutput">
- </span>
- </p>
- <script type="text/javascript">
- let string = '10.6 objects';
- let number1 = parseInt(string);
- let number2 = Number(string);
- document.querySelector('.parseOutput').textContent = number1;
- document.querySelector('.numberOutput').textContent = number2;
- </script>
- </body>
- </HTML>
输出:
示例 2:
parseInt() 仅返回整数值的区别, 而 Number() 返回包括浮点的所有数字.
- <!DOCTYPE HTML>
- <HTML>
- <head>
- <meta charset="UTF-8">
- <title>
- parseInt() 和 Number() 之间的区别
- </title>
- </head>
- <body>
- <h2>
- parseInt() 和 Number() 之间的区别
- </h2>
- <p>
- 字符串为: 3.1415
- </p>
- <p>
- parseInt 的输出为:
- <span class="parseOutput">
- </span>
- </p>
- <p>
- Number 的输出为:
- <span class="numberOutput">
- </span>
- </p>
- <script type="text/javascript">
- let string = '3.1415';
- let number1 = parseInt(string);
- let number2 = Number(string);
- document.querySelector('.parseOutput').textContent = number1;
- document.querySelector('.numberOutput').textContent = number2;
- </script>
- </body>
- </HTML>
输出:
区别:
1, 当转换的内容包含非数字的时候, Number() 会返回 NaN(Not a Number);parseInt() 要看情况, 如果以数字开头, 就会返回开头的合法数字部分, 如果以非数字开头, 则返回 NaN.
2,parseInt() 仅返回整数值的区别, 而 Number() 返回包括浮点的所有数字.
来源: http://www.css88.com/qa/javascript/10469.html