前言这两年有不少朋友和我吐槽React源码,比如: - 调度器为什么用小顶堆这种数据结构,直接用数组不行?
- 源码里各种单向链表、环状链表,直接用数组不行?
- 源码里各种位运算,有必要么?
作为业务依赖的框架,为了提升一点点运行时性能,React从不吝惜将源码写的很复杂。 在涉及状态、标记位、优先级操作的地方大量使用了位运算。 本文会讲解其中比较有代表性的部分。学到之后,当遇到类似场景时露一手,你就是业务线最靓的仔。
几个常用位运算
在JS中,位运算的操作数会先转换为Int32(32位有符号整型),执行完位运算会Int32对应浮点数。 在React中,主要用到3种位运算符 下载地址: 关于Vue中过滤器的必懂小知识 如何让js中的if判断如丝般顺滑详解 |