发布时间:2024-04-13 21:30:01
JavaScript 中有五种基本数据类型(其中包括 String、Number、Boolean、Function、Symbol)、三种对象类型(其中包括 Object、Date、Array)和两种特殊类型(其中包括 Null、Undefined)。不同的类型之间运算需要先对数据的类型进行转换,类型转换是将一种数据类型转换为另一种数据类型的过程,在日常开发中,我们会经常用到。var str = "http://www.365tools.cn/"; var num = 123; var res = str + num; document.write(typeof res); // 输出:string document.write(res); // 输出:http://www.365tools.cn/123通过运行结果可以看出,将一个字符串与一个数字相加,会得到一个字符串类型的值。如果是在 C语言或者 Java 语言中的话,上面的运算会因为运算符两边的数据类型不一致而导致报错,但在 JavaScript 中则不会,因为在运算之前 JavaScript 解释器会将上面的 num 变量隐式的转换为字符串类型,之后再进行运算。
document.write("3" - 2); // 输出:1 document.write("3" + 2); // 输出:"32" document.write(3 + "2"); // 输出:"32" document.write("3" * "2"); // 输出:6 document.write("10" / "2"); // 输出:5 document.write(1 + true); // 输出:2 document.write(1 + false); // 输出:1 document.write(1 + undefined); // 输出:NaN document.write(3 + null); // 输出:3 document.write("3" + null); // 输出:"3null" document.write(true + null); // 输出:1 document.write(true + undefined); // 输出:NaN通过运行结果可以得出:
Number(value);
示例代码如下:document.write(Number("10.5")); // 输出:10.5 document.write(Number(true)); // 输出:1 document.write(Number(false)); // 输出:0 document.write(Number(null)); // 输出:0在使用 Number() 函数时,有以下几点需要注意:
-
会保留在转换结果中,如果数字前面有加(+)号,转换后会删掉+
号;+
和-
以外的其他特殊符号或非数字字符,或在参数中间包含了包括空格、+
和-
的特殊符号或非数字字符,将转换为 NaN。parseInt(string, radix);
其中 string 为要转换的值,如果参数不是一个字符串,则会先将其转换为字符串,字符串开头的空白将会忽略;radix 为一个可选参数,表示字符串的基数,取值范围在 2 到 36 之间,例如将 radix 参数设置为 16,则表示将 string 转换为一个十六进制数。document.write(parseInt("1101",2)); // 输出:13 document.write(parseInt("a37f",16)); // 输出:41855 document.write(parseInt("123")); // 输出:123 document.write(parseInt(" 123")); // 输出:123
parseFloat(string);
其中 string 为要被转换为浮点数的值,如果转换失败,则会返回 NaN。document.write(parseFloat("312.456")); // 输出:312.456 document.write(parseFloat("-3.12")); // 输出:-3.12 document.write(parseFloat("+3.12")); // 输出:3.12 document.write(parseFloat(".12")); // 输出:0.12