其他的进制的数字
在JS中,
1· 如果需要表示16进制的数字,则需要以0x开头
2· 如果需要表示8进制的数字,则需要以0开头
3· 如果需要表示2进制的数字,则需要以0b开头
但是不是所有的浏览器都支持
IE不支持,火狐和谷歌支持
<!-- 16进制数字 -->
<script>
a = 0x10;
console.log(a); // 返回:16
</script>
<script>
a = 0xff;
console.log(a); // 返回:255
</script>
<!-- 8进制数字 -->
<script>
a = 070;
console.log(a); // 返回:56
</script>
<!-- 2进制数字 -->
<script>
a = 0b10;
console.log(a); // 返回:2
</script>
<!-- 像这种070这样字符串,有些浏览器会当成8进制解析,有些会当成10进制解析 -->
<script>
a = "070";
console.log(typeof a); // 返回:string
console.log(a); // 返回:070
</script>
<script>
a = "070";
a = parseInt(a);
console.log(typeof a); // 返回:number
console.log(a); // 返回:70
</script>
<script>
a = "070";
a = parseInt(a,10); // 这样写就会当成十进制来解析
console.log(typeof a);
console.log(a); // 返回:70
// 可以在parseInt()中传递一个第二个参数,来指定数字的进制
</script>
<script>
a = "070";
a = parseInt(a,8); // 这样写就会当成八进制来解析
console.log(typeof a);
console.log(a); // 返回:56
// 可以在parseInt()中传递一个第二个参数,来指定数字的进制
</script>
将其他的数字类型转换为Boolean值
- 使用Boolean()函数
- 数字 ---> Boolean()函数
- 除了0和NaN,其余的都是 true
- 字符串 ---> Boolean()函数
- 除了空串,其余的都是 true
- null 和 undefined 都会转换为 false
- 对象也会转换为 true
<script>
var a = 123;
console.log(typeof a); // 返回:number
console.log(a); //返回&#