上一篇: JS事件委托(事件代理)
下一篇: JS Ajax请求(简明教程)
JavaScript中有五种基本数据类型(其中包括 String、Number、Boolean、Function、Symbol)、三种对象类型(其中包括 Object、Date、Array)和两种特殊类型(其中包括 Null、Undefined)。不同的类型之间运算需要先对数据的类型进行转换,类型转换是将一种数据类型转换为另一种数据类型的过程,在日常开发中,我们会经常用到。
在 JavaScript 有两种类型转换的方式,分别是隐式类型转换和强制类型转换(也叫显式类型转换)。
隐式转换就是自动转换,通常发生在一些数学运算中。因为 JavaScript 是一种弱类型的语言,在一个表达式中,运算符两边的类型可以不同(比如一个字符串和一个数字相加),JavaScript 解释器会在运算之前将它们的类型进行转换,如下所示:
var str = "http://c.biancheng.net/";
var num = 123;
var res = str + num;
document.write(typeof res);
// 输出:string
document.write(res);
// 输出:http://c.biancheng.net/123
通过运行结果可以看出,将一个字符串与一个数字相加,会得到一个字符串类型的值。如果是在 C语言或者 Java 语言中的话,上面的运算会因为运算符两边的数据类型不一致而导致报错,但在 JavaScript 中则不会,因为在运算之前 JavaScript 解释器会将上面的 num 变量隐式的转换为字符串类型,之后再进行运算。
JavaScript 中,表达式中包含以下运算符时,会发生隐式类型转换:
示例代码如下:
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
通过运行结果可以得出:
与隐式类型转换相反,强制类型转换需要手动进行,在 JavaScript 中,强制类型转换主要是通过调用全局函数来实现的,例如 Number()、Boolean()、parseInt()、parseFloat() 等。
Number() 函数的语法格式如下:
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() 函数时,有以下几点需要注意:
parseInt() 函数的语法格式如下:
parseInt(string, radix);
其中 string 为要转换的值,如果参数不是一个字符串,则会先将其转换为字符串,字符串开头的空白将会忽略;radix 为一个可选参数,表示字符串的基数,取值范围在 2 到 36 之间,例如将 radix 参数设置为 16,则表示将 string 转换为一个十六进制数。
在使用 parseInt() 函数时,有以下几点需要注意:
示例代码如下:
document.write(parseInt("1101",2));
// 输出:13
document.write(parseInt("a37f",16));
// 输出:41855
document.write(parseInt("123"));
// 输出:123
document.write(parseInt("
123"));
// 输出:123
parseFloat() 函数的语法格式如下:
parseFloat(string);
其中 string 为要被转换为浮点数的值,如果转换失败,则会返回 NaN。
在使用 parseFloat() 函数时,有以下几点需要注意:
示例代码如下:
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
上一篇: JS事件委托(事件代理)
下一篇: JS Ajax请求(简明教程)
*声明:内容来源于网络收集和整理,版权归原著所有,如来源信息有误或侵犯权益,请联系站长作修改和删除处理。