位操作符 ~~
console.log(~~'10.33'); // 10
console.log(~~10.33); // 10
console.log(~~90); // 90
console.log(~~'2miao'); // 0
console.log(~~'cd5f'); // 0
console.log(~~'cdef'); // 0
console.log(~~undefined); // 0
console.log(~~null); // 0
Number()
使用Number()方法实现转换
console.log(Number(10)); // 10
console.log(Number('10')); // 10
console.log(Number('miao')); // NaN
console.log(Number('10miao')); // NaN
console.log(Number(false)); // 0
console.log(Number(undefined)); // NAN
console.log(Number(null)); // 0
注意:如果变量无法转为正常的数字类型,就会被转为NaN,NaN是数字类型,代表不是一个数字。
parseInt()
使用parseInt()方法取整数,
console.log(parseInt('10')); // 10
console.log(parseInt('10.23')); // 10
console.log(parseInt('miao')); // NaN
console.log(parseInt('10miao')); // 10
console.log(parseInt('miao10.34')); // NaN
console.log(parseInt(undefined)); // NaN
console.log(parseInt(false)); // NaN
注意parseInt() 方法会从左往右开始匹配,保留字串中以数字开始的部分,并且取整数;如果开头字符串不是数字则转为NaN,null、false、undefined等特殊值也输出NaN
。
parseFloat()
使用parseFloat()转为浮点型数字
console.log(parseFloat('10.33')); // 10.33
console.log(parseFloat(10.33)); // 10.33
console.log(parseFloat(90)); // 90
console.log(parseFloat('2miao')); // 2
console.log(parseFloat('miao2')); // NaN
console.log(parseFloat('miao')); // NaN
console.log(parseFloat(undefined)); // NaN
console.log(parseFloat(null)); // NaN
parseFloat()和parseInt()类似,区别是会保留下小数部分。
使用算数运算符转化
var number1 = '90';
console.log(+number1); // 90
console.log(-number1); // -90
console.log(number1 * 0); // 0
console.log(number1 - 0); // 90
console.log(number1 + 0); // '900'