强制数据类型转换
其它数据类型转为数字
- Number(数据);可以转换字符串 布尔 null,字符串必须是纯数字字符,可以识别小数点(只能识别一个)true是1 false是0 null ->0 转不成数字返回NaN
Number转化
console.log(Number(100));
var str = "123";
console.log(typeof str);
console.log(typeof Number(str));
console.log(Number("123.12"));
console.log(Number("123.12.123"));
console.log(Number("456px"));
console.log(Number("abc123"));
console.log(Number(true));
console.log(Number(false));
console.log(Number(null));
console.log(Number(undefined));
- parseInt(数据); 转为整型,不保留小数只能转换字符串 ,只能识别纯数字字符串,一旦遇到非数字字符就停止转换了,将数字返回,如果开头就是非数字字符返回NaN
console.log(parseInt(100));
console.log(parseInt("123"));
console.log(parseInt("123.123"));
console.log(parseInt("123px"));
console.log(parseInt("456abc789"))
console.log(parseInt("789.123.123"));
console.log(parseInt("abc999"));
- parseFloat(数据); 转为浮点型 (保留小数,只能识别一个小数点) 只能转换字符串,只能识别纯数字字符串,一旦遇到非数字字符就停止转换了,将数字返回,如果开头就是非数字字符返回NaN
parseFloat转化
console.log(parseFloat("789.123.123"));
其它数据类型转为字符串
console.log(String("abc"));
console.log(String(123));
console.log(String(true));
console.log(String(null));
console.log(typeof String(undefined));
- 变量.toString(); 私有方法,有这个方法才能使用,没有就不能使用 可以转为对应的进制字符串 参数范围 2-36 默认是10进制
var a = 123;
var b = true;
var c = "hello";
var d = null;
var f = undefined;
console.log(a.toString());
console.log(b.toString());
console.log(c.toString());
var num1 = 10;
console.log(num1.toString());
console.log(num1.toString(2));
其它数据类型转为布尔
- Boolean(数据); 可以将任意数据类型转为布尔
- 规律:对于单个数据而言只有0 NaN null undefined “” 是假的,其它的都是真的
隐式数据类型转换
console.log("10"+20);
console.log(10 - "2");
console.log(10 - "2px");
var a = 10;
var b = 10.235678;
console.log(a.toFixed(2));
console.log(b.toFixed(2));
console.log(isNaN(10));
console.log(isNaN("100"));
console.log(isNaN("100px"));
|