博客文章 — Field Notes
-
一文读懂Cookie、Session、Token和JWT
什么是认证(Authentication) 通俗地讲就是验证当前用户的身份,证明“你是你自己”(比如:你每天上下班打卡,都需要通过指纹打卡,当你的指纹和系统里录入的指纹相匹配时,就打卡成功) 互联网中的认证: 用户名密码登录 邮箱发送登录链接 手机号接收验证码 只要你能收到邮箱/
-
时间复杂度和空间复杂度
主要还是从算法所占用的「时间」和「空间」两个维度去考量。 时间维度:是指执行当前算法所消耗的时间,我们通常用「时间复杂度」来描述。 空间维度:是指执行当前算法需要占用多少内存空间,我们通常用「空间复杂度」来描述。 常见的时间复杂度量级有: 常数阶O(1) 对数阶O(logN) 线
-
八大数据结构分类
1.一共有八大数据结构分类 a.数组 b.栈 c.队列 d.链表(单链表、双向链表、循环链表) c.数 f.散列表 g.堆 h.图 如图: 1、数组 数组是可以再内存中连续存储多个元素的结构,在内存中的分配也是连续的,数组中的元素通过数组下标进行访问,数组下标从0开始。例如下面这
-
JavaScript的eventloop复杂点
什么是eventloop 推荐:掘金文章 eventloop的概念其实很简单 (1)所有同步任务都在主线程上执行,形成一个执行栈(execution context stack)。 (2)主线程之外,还存在"任务队列"(task queue)。只要异步任务有了
-
JavaScript变量回收原则/垃圾回收机制
先看题目 下列代码存在几个变量没有被回收? var i = 1; var i = 2; var add = function() { var i = 0; return function() { i++; console.log(i); } }(); add(); 答案:3,全局
-
JavaScript内存管理
JavaScript并没有提供内存管理的接口,而是在创建变量时自动分配内存,当变量不再需要使用时自动释放,也就是我们所常说的垃圾回收机制。 但不管是什么程序语言,内存的声明周期都满足以下三个阶段: a.分配你需要的内存空间 b.使用分配到的内存(读、写) c.不需要时将其释放或归
-
【JavaScript】6种函数的调用方式和this指向
六种调用函数的方法 普通函数 function fn1(){ log(1); } 调用 : fn1(); this指向 : window 对象函数 var obj={ a : 0, b : 1, fn2:function(){ log(2); } } 调用 : obj.fn2()