其他进制的数字
- 二进制 以 0b 开头的 Number
- 八进制 以 0 开头的 Number
- 十六进制 以 0x 开头的 Number
注意:无论是多少进制的数字,输出都是十进制
强制类型转换
主要指的是将 变量类型 转换为String,Number,Boolean类型。
1. 转换为字符串 String
- 通过调用 String.toString() 方法 :
- Null 、Undefined 没有 .toString() 方法,意味着不能用此方法转换
var a = 123;
var b = a.toString(); // 此时 a 还是数字123,而 b 已经转换成了字符串"123"var a = true;
a = a.toString();
console.log(typeof a); // "String"
console.log(a); // "true" 布尔值会转换成 字符串
- 通过使用函数 String() :
var c = 456;
var d = String(c); // 此时 c 还是 Number ,d 已经是字符串 "456"- 值 null 将被转换成字符串 "null" , 值 undefined 将被转换成 "undefined"
2. 转换为数字 Number
- 通过函数 Number() 将字符串转换成数字
- 如果不和法,则返回值为Number类型的 "NaN"
var a = "465";
var b = Number(a); console.log(typeof a); // "String"
console.log(a); // "456"
console.log(typeof b); // "Number"
console.log(b); //- Number(true); // 1
- Number(false); // 0
- Number(null); // 0
- Number(undefined); // NaN
- Number("a68px"); // NaN
- 通过函数 parseInt() 解析字符串中出现的第一个合法整数
var iWidth = "375px";
var sWidth = parseInt(iWidth); console.log(typeof iWidth); // "String"
console.log(iWidth); /// "375px"
console.log(typeof sWidth); // Number
console.log(sWidth); //
- 通过函数 parseFloat() 解析字符串中出现的第一个合法浮点数
var iHeight= "766.53px";
var sHeight = parseFloat(iHeight); console.log(typeof iHeight); // "String"
console.log(iHeight); /// "766.53px"
console.log(typeof sHeight ); // Number
console.log(sHeight ); // 766.53
3. 转换为布尔类型 Boolean
使用 Boolean()函数
- 数字转布尔,除了 0 和 NaN 转换为false,其他都转换成 true
var a = 123; var b = Boolean(a); console.log(typeof a); // "boolean" console.log(a); // "true"
- 字符串转布尔,除了"",其余都是 true
- null 和 undefined 都会转换为false
- 对象也会转换为 true