自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

花神的博客

叩首为梦 码梦为生

  • 博客(13)
  • 资源 (1)
  • 收藏
  • 关注

原创 前端知识点梳理

JavaScript语法设计模式函数式底层框架和类库发展语法变量this深拷贝继承闭包高阶函数异步和事件模式设计模式单例模式工厂模式观察者模式函数式函数式编程底层js解析原理V8引擎框架和类库jqueryvue发展typescriptHTML&&CS...

2018-05-31 23:30:27 420

原创 前端性能优化

前端性能优化资源的加载方式懒加载适用场景:页面很长,图片很多原理: 可视区内部的图片正常加载,可视区外的图片src设置为预览图,将图片的src放在img标签的data-src属性中,如<img data-src='img/pic.png' src="img/demo.png"/>实现方式: 1. 手动实现 2. lazyload.js预...

2018-05-24 17:47:14 320

原创 七种方法实现三栏布局

<!DOCTYPE html><html lang="zh"><head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> &a

2018-05-24 17:46:32 526

原创 深入理解为什么应该使用transform来替代top

在进行页面性能优化的时候,经常被告诫要使用transform替代top来实现动画,这样性能会更好,作为一名有追求的前端,不仅需要知其然还要知其所以然,今天就通过chrome的performance工具来直观展示其中的原因。 源码:<!DOCTYPE html><html lang="zh"&amp

2018-05-19 00:38:05 8087 1

原创 你不知道的JavaScript 笔记

一. 作用域 作用域是什么?作用域是存储变量的一套规则,比如函数作用域,块作用域,全局作用域作用域组成: 引擎 编译器 作用域举例: va a = 1 分为两个阶段: 1. 编译阶段声明变量 2. 执行阶段赋值LHS: 变量赋值 RHS: 变量查找编译的原理 js–(分词/词法分析(tokenizing/Lexing))–>有意义代码块–(解析/...

2018-05-17 11:00:29 247

原创 输入url到看到页面过程

浏览器拿到url后,首先是找该url对应的ip地址,寻找顺序为: 浏览器缓存,hosts, DNS,根服务器DNS,找到后向服务器发送请求,建立tcp的三次握手,握手成功后请求该资源,由于使用的http1.1协议,并且在请求头中设置了Connection: keep-alive,所以服务器返回html页面后并没四次挥手,而是会继续保留一段时间,这时候浏览器开始解析html为DOM树,遇到src标签...

2018-05-13 17:12:49 181

原创 ES6算法系列

掌握常用的算法是从初级前端向中高级前端发展的必经之路,下面将常见的一些算法使用ES6重写一遍,一共6分为6篇,下面是链接地址:ES6算法—冒泡排序 ES6算法—选择排序 ES6算法—插入排序 ES6算法—快速排序 ES6算法—希尔排序 ES6算法—归并排序后续的补充都会在github上进行,地址: 点我...

2018-05-07 14:08:25 952

原创 ES6算法---归并排序 Merge Sort

原理:归并排序使用分而治之的思想,以折半的方式来递归/迭代排序元素,利用空间来换时间,做到了时间复杂度 O(n·log(n)) 的同时保持了稳定。时间复杂度最优时间复杂度: O(nlogn)最坏时间复杂度: O(nlogn)稳定性:稳定实现方式function merge_sort(arr) { let len = arr.length if (len &l...

2018-05-07 14:01:36 510

原创 ES6算法---希尔排序 Shell Sort

原理:插入排序的改进版,克服了插入排序每次只能移动相邻位置的缺陷,希尔排序每次可以移动gap个位置时间复杂度最优时间复杂度: O(nlogn) 最坏时间复杂度: O(n^2) 稳定性:不稳定实现方式function shell_sort(arr) { let len = arr.length let gap = Math.floor(len / 2) w...

2018-05-06 13:51:46 300

原创 ES6算法---快速排序 Quicksort

原理:从数列中挑出一个元素,称为”基准”(pivot)重新排序数列,所有比基准值小的元素摆放在基准前面,所有比基准值大的元素摆在基准后面(相同的数可以到任何一边)。在这个分区结束之后,该基准就处于数列的中间位置。这个称为分区(partition)操作。递归地(recursively)把小于基准值元素的子数列和大于基准值元素的子数列排序。时间复杂度最优时间复杂度: O(nl...

2018-05-06 13:49:14 1644

原创 ES6算法---插入排序 Insertion Sort

原理:默认 a[0] 为已排序数组中的元素,从 arr[1] 开始逐渐往已排序数组中插入元素,从后往前一个个比较,如果待插入元素小于已排序元素,则已排序元素往后移动一位,直到待插入元素找到合适的位置并插入已排序数组。经过 n - 1 次这样的循环插入后排序完毕。时间复杂度最优时间复杂度: O(n) 最坏时间复杂度: O(n^2) 稳定性:稳定实现方式1functio...

2018-05-05 23:56:08 765

原创 ES6算法---选择排序 Selection Sort

原理:每一次内循环遍历寻找最小数的下标min,并在这次内循环结束后交换 min 和 j 的位置。时间复杂度最优时间复杂度:O(n2)最坏时间复杂度:O(n2)稳定性:不稳定function selection_sort(arr) { let len = arr.length for (let j = 0; j < len-1; j++) { let...

2018-05-05 22:25:15 1993

原创 ES6算法---冒泡排序 Bubble Sort

原理:依次比较、交换相邻的元素大小时间复杂度最优时间复杂度:O(n^2)最坏时间复杂度:O(n)稳定性:稳定实现方式1function buddle_sort(arr) { let len = arr.length - 1 for (let j = 0; j < len; j++) { for (let i = 0; i < len - ...

2018-05-05 21:27:45 5405 1

屏幕录制2020-01-1010.49.26.mov

屏幕录制2020-01-1010.49.26.mov

2020-01-10

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除