JavaScript小技巧

97 阅读1分钟

1.解构赋值

let obj = {
  person: {
    name: 'foo',
    age: 18
  }
}
console.log(name, age)  // foo  18
const { person: { name, age } } = obj 
​
console.log(person)   // Uncaught ReferenceError: part1 is not defined
这个时候person就不可用了,别急,试试多次解构
​
const { person: { name, age }, person } = obj
console.log(person)   // {name: "foo", age: 18}

2.数字分隔符

//定义一个常量
const num = 3000000000000

emmmmm,是不是都数不过来了,试试使用数字分隔符

const num = 3_000_000_000_000
console.log(num)  // 3000000000000

3.一行代码生成随机字符串

const str = Math.random().toString(36).substr(2, 10);
console.log(str);   // 'dajeyyv58e'

4.使用数组代替层if...else

let handler={
        1:()=>{console.log('1');},
        2:()=>{console.log('2');},
        3:()=>{console.log('3');},
    }
handler[1]() //1
handler[2]() //2

5.将RGB转换为十六进制

const rgbToHex = (r, g, b) =>"#" + ((1 << 24) + (r << 16) + (g << 8) + b).toString(16).slice(1);
​
rgbToHex(0, 51, 255);// #0033ff

6.滚动到顶部

const goToTop = () => window.scrollTo(0, 0);
goToTop();