1. css 动画和js动画 哪个性能更好, 为什么:
      css 动画性能更好, 因为css 动画的渲染会新开一个线程, 和主线程是分开的, js 操作动画会在主线程上进行,主线程会跑其他的例如脚本等其他的任务,这样性能就差。

      而且css 可以开启gpu 加速。

    2. 对象循环key 带symbol Reflect.ownKeys 包括对象的key 和symbol。

    3. Function.prototype.apply.call(Math.floor, undefined, [1.75]) 等价于 Math.floor.apply(underfinded, [1.75])
    4. Reflect.apply(Object.prototype.toString, youngest, []); 判断数据类型
    5. 获取原型的方法 , p.proto__, p.getPrototypeOf, p.constructor.prototype
    6. 解析字符串和字符串强制类型转换数字的区别:
      字符串强制类型转换 如果遇到数字就会直接返回NaN;
      如果是解析字符串 例如 parseInt 会解析到非数字时候停止,返回前面的数字
      • new Date() 等同于 new Date().getTime(); new Date().valueof(); new Date() * 1
    7. 布尔值的隐式类型转换
      if() 括号里面的内容
      while () 括号里的内容
      三元运算符的 条件
      || && 左边的内容
    8. js 有哪些内置对象
      Math , Date, String, Object, Function,NaN, underfined
    9. this 指向 的问题:
      箭头函数的this 指向在函数定义的时候就已经被定义,是定义函数时候所在的函数作用域中的this,
      非箭头函数中的this 指向,谁调用,this 就指向谁
    10. js 是静态作用域, 函数的作用域在函数定义的时候就已经被创建了
    11. 函数声明大于变量声明
    12. toString 和 valueOf的区别 : toString 是返回一个表示该对象的一个字符串, valueOf是返回这个对象的原始值,如果没有原始值则返回对象本身
    13. padStart 前补0 padEnd 后补0
    14. i++, ++i, i += 1 ++ 是先把i 拿出来使用,然后 + 1 ,++ i 是先把 +1 拿出来使用, += 就是 + 1
    15. 生成为二维数组 const dp = new Array(5).fill(0).map(item => new Arrary(5).fill(true))