购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.2.3 数据类型转换

不同类型的数据一起参与运算时,需要进行数据类型转换。JavaScript数据类型转换可以分为自动类型转换和强制类型转换两种。

1.自动类型转换

自动类型转换并不会改变操作数本身的类型,改变的仅仅是这些操作数如何被求值以及表达式本身的类型。

1)其他类型转布尔型

其他类型转换为布尔型时,会被看作false的数据如表2-5所示,其他数据会被视为true。

表2-5 其他类型转布尔型

其中,浮点型0.0后面无论添加多少个0,值均为false;空字符串的值为false,但包含一个空格的非空字符串的值为true。

2)其他类型转数字型

布尔型和数字型进行算术运算时,true会自动转换为1参与运算,false会自动转换为0参与运算。示例如下:

undefined参与算术运算时结果为NaN。示例如下:

null参与算术运算时转换为0。示例如下:

如果运算符为-、*、/、%中的任意一个,JavaScript会自动将字符串转换为数字,对于无法转换的则转换为NaN。示例如下:

3)其他类型转字符串型

如果表达式中存在字符串类型和其他类型数据,而运算符使用“+”,则JavaScript会自动将其他类型转换为字符串,并将两个字符串拼接在一起。示例如下:

2.强制类型转换

强制类型转换可以把一种数据类型强制转为另一种数据类型,JavaScript中强制类型转换可以通过Number()、Boolean()、String()、parseInt()等函数实现,具体内容详见“第4章函数”。示例如下:

上面代码中,prompt()函数的返回值是字符串类型,因此sum1的值是字符串拼接的结果“12”。使用parseInt()函数将字符串转换为数字后,可以得到正确的求和结果。 2+MDOiSpWe9mj7MuL71lBhqbLnn5yja3lvPgt6fQSa9nlHDioOB0oOYCS0y5k2dF

点击中间区域
呼出菜单
上一章
目录
下一章
×