为什么要强制转换
所有通过输入框得到的数据 都是字符串
字符串加法 实现的是拼接
强制转换-number
Number(数据);
可以null和布尔值以及字符串中的空字符、空格字符、纯数字字符, 其他的都会被转成NaN
console.log(Number(true)); // 1
console.log(Number(false)); // 0
console.log(Number(null)); // 0
console.log(Number(undefined)); // NaN
console.log(Number('')); // ''中间没有任何字符 0
console.log(Number(' ')); // 0
console.log(Number('9087')); // 9087
console.log(Number('9087a')); // NaN
console.log(Number('a9087')); // NaN
parseInt
parseInt: 从左往右依次转换每一个字符, 遇到不能转换的或者到结尾就会结束转换, 保留整数
当第一个字符就不能转换的时候 返回NaN
console.log(parseInt('200px')); // 200
console.log(parseInt('155.8px')); // 155
parseFloat
parseFloat: 从左往右依次转换每一个字符, 遇到不能转换的或者到结尾就会结束转换, 保留小数
当第一个字符就不能转换的时候 返回NaN
console.log(parseFloat('155.8px')); // 155.8
强制转换-string
toString()
数据.toString()
将其他数据类型,转成字符串 null和undefined不能转换
在js中 .相当于白勺的
var num = 10;
console.log(num);
console.log(num.toString());
// 了解: 数值类型的时候: 小括号写进制
console.log(num.toString(8));
String
String(数据);
可以转换一切数据类型
console.log(String(10));
console.log(String(null));
console.log(String(undefined));
区别
toString 和 String区别
\1. toString: 对象的方法 可以自己修改 不能转换null和undefined
\2. String: 强制转换的方法 能转换null和undefined
强制转换-boolean
了解js的真和假:
假: false 0 NaN 空字符 null undefined
Boolean(数据): true false
console.log(false);
console.log(Boolean(1));
console.log(Boolean(-1));
console.log(Boolean(0)); // false
console.log(Boolean(NaN)); // false
console.log(Boolean('')); // false
console.log(Boolean(' ')); // true
console.log(Boolean('a')); // true
console.log(Boolean(null)); // false
console.log(Boolean(undefined));// false
// 对象: {} 空对象
// 数组: [] 空数组
var obj = {};
console.log(obj);
console.log([]);
隐式转换方法
isNaN
isNaN(数据): 判断数据 是不是 不是一个数字
true: 不是一个数字
false: 是一个数字
隐式调用 Number 方法 如果Number转出来的不是NaN 返回false 是NaN 返回true
console.log(isNaN(true)); // Number(true)-->1 false
console.log(isNaN('true')); // Number('true')-->NaN true
console.log(isNaN(undefined)); // Number(undefined)-->NaN true
console.log(isNaN(parseInt('22.5px'))); // parseInt('22.5px')-->22 Number(22)-->22 false
toFixed
toFixed: 保留几位小数
将数值保留n位小数转化成字符串
数值.toFixed(数字);
数字: 保留的小数的位数
// var num = 2.3333333;
// var num = 2.500001;
var num = 2.499991;
console.log(num.toFixed(2));
console.log(typeof num.toFixed(2));