/*
* 将其他的数据类型转换为Number
* 转换方式一:
* 使用Number()函数
* - 字符串 --> 数字
* 1.如果是纯数字的字符串,则直接将其转换为数字
* 2.如果字符串中有非数字的内容,则转换为NaN
* 3.如果字符串是一个空串或者是一个全是空格的字符串,则转换为0
* - 布尔 --> 数字
* true 转成 1
* false 转成 0
*
* - null --> 数字 0
*
* - undefined --> 数字 NaN
*
* 转换方式二:
* - 这种方式专门用来对付字符串
* - parseInt() 把一个字符串转换为一个整数
* - parseFloat() 把一个字符串转换为一个浮点数
*/
var a = "123"; //调用Number()函数来将a转换为Number类型 a = Number(a); a = false; a = Number(a); a = null; a = Number(a); a = undefined; a = Number(a); a = "123567a567px"; //调用parseInt()函数将a转换为Number /* * parseInt()可以将一个字符串中的有效的整数内容去出来, * 然后转换为Number */ a = parseInt(a); /* * parseFloat()作用和parseInt()类似,不同的是它可以获得有效的小数 */ a = "123.456.789px"; a = parseFloat(a); /* * 如果对非String使用parseInt()或parseFloat() * 它会先将其转换为String然后在操作 */ a = true; a = parseInt(a); a = 198.23; a = parseInt(a); console.log(typeof a); console.log(a);
...
/*
* 在js中,如果需要表示16进制的数字,则需要以0x开头
* 如果需要表示8进制的数字,则需要以0开头
* 如果要要表示2进制的数字,则需要以0b开头
* 但是不是所有的浏览器都支持
*
*/
//十六进制 a = 0x10; a = 0xff; a = 0xCafe; //八进制数字 a = 070; //二进制数字 //a = 0b10; //向"070"这种字符串,有些浏览器会当成8进制解析,有些会当成10进制解析 a = "070"; //可以在parseInt()中传递一个第二个参数,来指定数字的进制 a = parseInt(a,10); console.log(typeof a); console.log(a);