javascript现代编程系列教程之六——数字型数据类型转换
一、整数转换
在 JavaScript 中,parseInt() 函数会将其参数转换为字符串,然后解析该字符串,并返回一个整数或 NaN。如果 parseInt() 函数的参数是一个非常大的浮点数(如 1000000000000000000000.5),那么它首先会被转换为科学记数法的字符串形式(即 "1e+21"),然后 parseInt() 会尝试从这个字符串中解析出一个整数。
由于 "e" 不是一个有效的数字字符,所以 parseInt("1e+21") 只会解析到 "1",并忽略后面的部分。因此,parseInt(1000000000000000000000.5) 的结果是 1。
console.log(parseInt(1000000000000000000000.5)); // 输出: 1
这种行为是由 JavaScript 的类型转换规则和 parseInt() 函数的工作方式共同决定的。
在 JavaScript 中,parseInt()函数将其参数转换为字符串,然后解析该字符串,并返回一个整数或 NaN。当 parseInt() 函数的参数是一个非常小的浮点数(如 0.0000008),它首先被转换为科学记数法的字符串形式(即 "8e-7"),然后 parseInt() 会从这个字符串中解析出一个整数。
由于 "e" 不是一个有效的数字字符,所以 parseInt("8e-7") 只会解析到 "8",并忽略后面的部分。因此,parseInt(0.0000008) 的结果是 8。
console.log(parseInt(0.0000008)); // 输出: 8
这种行为是由 JavaScript 的类型转换规则和 parseInt() 函数的工作方式共同决定的。
二、数值转换
表达式 value !== value 是在 JavaScript 中检查一个变量是否为 NaN 的方法。NaN 是唯一一个不等于自身的 JavaScript 类型。
以下是一个例子:
let value = NaN;
if (value !== value) {
console.log('值是 NaN');
} else {
console.log('值不是 NaN');
}
这将输出 '值是 NaN',因为 NaN 不等于 NaN。

浙公网安备 33010602011771号