css 动画和js动画 哪个性能更好, 为什么:
css 动画性能更好, 因为css 动画的渲染会新开一个线程, 和主线程是分开的, js 操作动画会在主线程上进行,主线程会跑其他的例如脚本等其他的任务,这样性能就差。而且css 可以开启gpu 加速。
对象循环key 带symbol Reflect.ownKeys 包括对象的key 和symbol。
- Function.prototype.apply.call(Math.floor, undefined, [1.75]) 等价于 Math.floor.apply(underfinded, [1.75])
- Reflect.apply(Object.prototype.toString, youngest, []); 判断数据类型
- 获取原型的方法 , p.proto__, p.getPrototypeOf, p.constructor.prototype
- 解析字符串和字符串强制类型转换数字的区别:
字符串强制类型转换 如果遇到数字就会直接返回NaN;
如果是解析字符串 例如 parseInt 会解析到非数字时候停止,返回前面的数字 - new Date() 等同于 new Date().getTime(); new Date().valueof(); new Date() * 1
- 布尔值的隐式类型转换
if() 括号里面的内容
while () 括号里的内容
三元运算符的 条件
|| && 左边的内容 - js 有哪些内置对象
Math , Date, String, Object, Function,NaN, underfined - this 指向 的问题:
箭头函数的this 指向在函数定义的时候就已经被定义,是定义函数时候所在的函数作用域中的this,
非箭头函数中的this 指向,谁调用,this 就指向谁 - js 是静态作用域, 函数的作用域在函数定义的时候就已经被创建了
- 函数声明大于变量声明
- toString 和 valueOf的区别 : toString 是返回一个表示该对象的一个字符串, valueOf是返回这个对象的原始值,如果没有原始值则返回对象本身
- padStart 前补0 padEnd 后补0
- i++, ++i, i += 1 ++ 是先把i 拿出来使用,然后 + 1 ,++ i 是先把 +1 拿出来使用, += 就是 + 1
- 生成为二维数组 const dp = new Array(5).fill(0).map(item => new Arrary(5).fill(true))