240 发简信
IP属地:福建
  • 120
    react源码剖析——(三)不可思议的React diff算法

    Virtual DOM能够体现高质量的渲染性能,不得不得意与强大的diff算法。计算一棵树形结构转换成另一棵树形结构的最少操作,是一个复杂且值得研究的问题。传统 diff 算...

  • @zweekend 这个我理解,可是为什么"[1,2,3] == null"这个就能执行判断,{name:'tome'} == null就报错,但是null == {name:'tom'}也是执行判断

    前端基础进阶(一):内存空间详细图解

    注:本系列文章已升级最新版本:《JavaSscript 核心进阶》第二版[https://xiaozhuanlan.com/advance] 因为JavaScript具有自动...

  • 老师,我把您的全部文章都看了至少两边,我以为我可以出师了,然而,今天一个问题,让我觉得,我too young,too naive
    问题如下:
    A:
    var a = {name:'tom'}
    a == null;
    正常运行
    B:
    {name:'tome'} == null
    报语法错误

    我有几个疑问:
    1.{name:'tom'}如果没有变量来接收它,那它以什么形式存在内存中?
    2.我原先猜测引用类型数据要变量接收才能比较,但是[1,2,3] == null妥妥打脸
    3.另一个猜测是{name:'tom'}被当成了代码段来执行
    4.B这行代码内部究竟执行了什么才会报错?
    4.为什么会出现A.B不同的结局?

    前端基础进阶(一):内存空间详细图解

    注:本系列文章已升级最新版本:《JavaSscript 核心进阶》第二版[https://xiaozhuanlan.com/advance] 因为JavaScript具有自动...