Keen King

终于搞懂了!八大排序算法^ _ ^

前言

最近正在准备前端实习岗的面试,在诸多岗位的面试中,排序算法可以说是面试官必问的题目,这里对八大排序做一下总结,一来巩固一下最近复习的知识,而来方便以后再看。

阅读更多
JavaScript运行机制:Event Loop

单线程的 JavaScript

JavaScript 语言的一大特点就是单线程,也就是说,同一个时间只能做一件事。那么,为什么 JavaScript 不能有多个线程呢?这样能提高效率啊。
JavaScript 的单线程,与它的用途有关。作为浏览器脚本语言,JavaScript 的主要用途是与用户互动,以及操作 DOM。这决定了它只能是单线程,否则会带来很复杂的同步问题。比如,假定 JavaScript 同时有两个线程,一个线程在某个 DOM 节点上添加内容,另一个线程删除了这个节点,这时浏览器应该以哪个线程为准?

阅读更多
JavaScript——闭包

什么是闭包

MDN 对闭包的定义为:

闭包是指那些能够访问自由变量的函数
自由变量是指在函数中使用的,但既不是函数参数也不是函数的局部变量的变量。

由此,我们可以看出闭包共有两部分组成:
闭包 = 函数 + 函数能够访问的自由变量

阅读更多
JavaScript——作用域链

什么是作用域链

JavaScript 在查找变量的时候,会先从当前上下文的变量对象中查找,如果没有找到,就会从父级(词法层面上的父级)执行上下文的变量对象中查找,一直找到全局上下文的变量对象,也就是全局对象。这样由多个执行上下文的变量对象构成的链表就叫做作用域链。
我们从函数创建和函数激活两个时期来看作用域链的变化

阅读更多
JavaScript——变量对象

前言

对于每个执行上下文,都有三个重要属性:

  • 变量对象(Variable object,VO):变量对象是与执行上下文相关的数据作用域,存储了在上下文中定义的变量和函数声明。
  • 作用域链(Scope chain)
  • this
阅读更多
JavaScript——执行上下文栈

顺序执行

如果要问到 JavaScript 代码执行顺序的话,想必写过 JavaScript 的开发者都会有个直观的印象,那就是顺序执行
看下面两个例子

1
2
3
4
5
6
7
8
9
10
11
var foo = function () {
console.log('foo1');
}

foo(); // foo1

var foo = function () {
console.log('foo2');
}

foo(); // foo2
阅读更多
JavaScript——作用域

什么是作用域

作用域是指程序源代码中定义变量的区域。
作用域规定了如何查找变量,也就是确定当前执行代码对变量的访问权限。
JavaScript 采用词法作用域(lexical scoping),也就是静态作用域。

阅读更多
实现基于JWT的Token登录验证功能

前言

放假之前做了几个小项目+课设,都用到了 token 实现登录验证和权限判断,然鹅当时和同组的小伙伴也都是第一次接触到了 token,于是乎都是一脸懵逼(xjbx)的写完了登录验证的前后端逻辑(我写前端,同组的小伙伴写后端)。今天有空仔细学习了一下 SpringBoot 实现 token 认证以及和前端的交互,踩了不少坑,在这里记录一下(现在已经 12:30 了…好困=·=)

阅读更多
首页 归档 标签 关于 搜索