导航


HTML

CSS

JavaScript

浏览器 & 网络

版本管理

框架

构建工具

TypeScript

性能优化

软实力

算法

UI、组件库

Node

冷门技能

进制

console.log(0x1f1); // 十六进制

console.log(0o762); // 八进制

console.log(0b1101); // 二进制

Untitled

十进制转二进制、二进制转十进制

Number.prototype.toString.call(200, 2); // 十进制转为二进制数
parseInt(11001000, 2); // 二进制转为十进制

Number 调整

console.log(Number.prototype)

Untitled

⭐️ isNaN 方法,Number下 isNaN 修复了全局的 isNaN 方法会隐式转换

console.log(isNaN(NaN));
console.log(isNaN('NaN')); // 隐式类型转换

Untitled

console.log(Number.isNaN(NaN));
console.log(Number.isNaN('NaN')); // 修复了隐式类型转换

Untitled

isFinite() 是否是有限的数

console.log(isFinite(20)); // true
console.log(isFinite(NaN)); // false
console.log(isFinite(Infinity)); // false

console.log(isFinite('20')); // true 隐式转换
console.log(Number.isFinite('20')); // false

⭐️ parseInt、parseFloat

全局的 parseInt、parseFloat 和 Number 下的 parseInt、parseFloat 没有任何区别,一模一样

⭐️ isInteger() 是否是整数

Number.isInteger(1);
Number.isInteger(1.0);
Number.isInteger(1.1);

Untitled

安全整数

isSafeInteger()

Untitled

求幂运算符

以前求幂,我们需要这么写

const num = Math.pow(3, 2) // 9

ES7提供了求幂运算符:**

const num = 3 ** 2 // 9

⭐️ 数字分隔符

数字分隔符可以让你在定义长数字时,更加地一目了然

const num = 1000000000

// 使用数字分隔符
const num = 1_000_000_000