1、强制转换
强制转换 | 作用 |
---|
Number() | 转为数值,必须为数字,否则返回NaN |
String() | 转为字符串 |
Boolean() | 转为布尔值 |
toString() | 转为字符串(null和undefined不可以) |
parseInt() | 转为整数,截取数字 |
parseFloat() | 转为浮点数,截取浮点数 |
console.log(Number("12345"));
console.log(Number("123abc45"));
console.log(parseInt("12345"));
console.log(parseInt("123abc45"));
console.log(parseInt("12.3abc45"));
console.log(parseInt("A12.3abc45"));
console.log(parseFloat("12.3ab5"));
console.log(parseFloat("12.34.32ab5"));
console.log(parseFloat("b12.3ab5"));
2、自动转换
自动转换 | 作用 |
---|
if、while语句 | 自动转为Boolean 类型 |
逻辑与 | 如果第一个为true,返回第二个是否也为true;如果第一个就false,就直接返回第一个 |
逻辑或 | 如果第一个为true,就那返回第一个;如果第一个为false,那就看第二个是否为ture |
逻辑非 | 这个简单不说 |
== | 类型自动转换,然后比较数值 |
=== | 不转换类型,直接比较数值与类型,两个都相同才为true |
console.log("Hello" && "World");
console.log(0 && 20);
console.log("Hello" || "World");
console.log(0 || 20);
console.log(!0);
console.log(1 == "1");
console.log(1 === "1");
3、if、while
语句转换
类型 | if 语句转换 |
---|
数值类型 | 只有0和NaN会转换为fasle |
null | 转为false |
undefined | 转为false |
字符串 | 空字符串转为false,其他为true |
对象 | 所有对象都转为true |