1. 数组的原生方法

    基本操作:pop push shift unshift slice splice
    查找: find findIndex indexOf includes every some findLast findLastIndex lastIndexOf
    遍历: forEach map filter sort
    迭代: reduce
    合并: concat
    拍平:flat flagMap
    其他: fill, join reverse copyWith
    对象上:keys values entires

    1. 常见的位运算符号

    &
    |
    ~
    ^
    <<
    >>
    >>>

    1. 为什么函数的 arguments 参数是类数组而不是数组?

    存在 callee name 等属性

    1. 创建的 DOM 操作

    2. use strict 的意思?

    并发操作

    1. async function sleep(n, name = 'test') {
    2. return new Promise(resolve => {
    3. console.log(n, name, 'start')
    4. setTimeout(() => {
    5. console.log(n, name, 'end', '------------')
    6. resolve({ n, name })
    7. }, n * 1000)
    8. })
    9. }
    10. async function start() {
    11. let runer = limit(2)
    12. let tasks = [
    13. () => sleep(1, '吃饭'),
    14. () => sleep(1, '吃饭'),
    15. () => sleep(1, '吃饭'),
    16. () => sleep(1, '吃饭'),
    17. ].map(runer)
    18. let result = await Promise.all(tasks)
    19. console.log(result, 'end')
    20. }
    21. // @think 如果任务有优先级呢?
    22. start()
    23. // 实现一个 limit
    24. function limit(max) {
    25. }