• 浏览器异步(一)

    注: 转载瓶子君文章 详细连接 已知,JavaScript 是单线程的,天生异步,适合 IO 密集型,不适合 CPU 密集型,但是,为什么是异步的,异步由何而来的,我们将在这里逐渐讨论实现。 一、进程与线程1. 浏览器是多进程的它主要包括以下进程...
  • 算法

    1. 深度优先搜索 && 广度优先搜索深度:一个人,一条路走到黑,路不通,则到上一个分叉口,再一次一条路走到黑,循环,直到找到出口为止广度:几个人,同时面对几个分叉路口,直到找到出口为止。像wifi状的数据节点分布就最适合这种算法。 ...
  • 克隆对象&&数组(二)

    4. 深拷贝深拷贝 = 浅拷贝 + 遇到对象时递归拷贝(1)最简单莫过于字符序列化,再parse反序列化语法:JSON.parse(JSON.stringify) 后端传回的变量一般用它来拷贝足以应对。只是, 1、会忽略 undefined ...
  • 克隆对象&&数组(一)

    1 从数据类型说起JavaScript的数据类型: 基本类型: Null,undefined,number,string,Boolean 存放在栈内存的简单数据,可以直接访问 引用类型:Array,Object,Function 存放在堆内存,存放...
  • AST

    AST 一种语法树

  • 偏函数

    我的理解是,传入并缓存固定的参数,返回指定的函数。而且是一种特别的柯里化。柯里化是一参变多参。偏函数是前面的参数会导致后来return的函数不一样。书面点讲,就是指定部分参数,来产生一个新的定制函数。 参考:blog
  • proxy

    vue源码的render部分,曾用到proxy来代理vue的实例。 1 概念:proxy 原意就有代理的意思。它是外界访问对象的一层代理控制,也是对访问的一种改写和过滤。属于一种元编程。 2 作用:可以从获取和设置两种时机去代理指定对象 3 代码结构...
  • 函数柯里化

    1. 是什么?柯里化是一种将使用多个参数的一个函数转换成一系列使用一个参数的函数的编程技术。简单示例: 123456789function add(a, b) { return a + b; }// 执行 add 函数,一次传入两...
  • 数组常见技巧

    1. 数组降维二维数组降维成一维数组(引自vue源码) 利用原理:(1) concat的属性 : 如果concat方法的参数是一个元素,该元素会被直接插入到新数组中;如果参数是一个数组,该数组的各个元素将被插入到新数组中;(2) apply的优化:...
  • vue源码分析

    网址:勾三股四授之以渔vue大概讲解染陌电子书patch原理victual dom diff书栈网vue中的AST