自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(94)
  • 收藏
  • 关注

转载 js - 常用的继承

零、序言  参考资料:JavaScript常用八种继承方案;  注:1.此篇笔记是站在上述资料的肩膀上的一篇小结;    2.阅读之前建议温习一下 js 中的 prototype 和 constructor;(js - __proto__ 、 prototype和constructor)一、原型链上的继承(new)function Father() { ...

2019-09-25 16:30:00 164

转载 WEB 安全 - xss 初探

零、参考资料网络攻击-XSS攻击详解;前端安全之XSS攻击;一、概念  跨站脚本攻击Cross-site scripting (XSS)是一种安全漏洞,攻击者可以利用这种漏洞在网站上注入恶意的客户端代码。当被攻击者登陆网站时就会自动运行这些恶意代码,从而,攻击者可以突破网站的访问权限,冒充受害者。(转自 MDN)。  在以下2种情况下,容易发生XSS攻击...

2019-09-18 14:39:00 199

转载 js - __proto__ 、 prototype和constructor

零.资料与前言0x1 材料:  1.帮你彻底搞懂JS中的prototype、__proto__与constructor(图解)0x2 前言  之前也尝试总结过 js 中的 __proto__ 、 prototype 以及原型链相关的资料(JS 中的原型 -- prototype、__proto__ 以及原型链),不过彼时受限于经验等因素,没有多少条理,同时也存在诸多的的疑...

2019-08-27 10:48:00 185

转载 css - 原生变量及使用函数 var()

零.序言  前两天在逛 blog 的时候看见一些内联样式新奇的写法时很纳闷,虽然说不上多么熟练,但是从来没见过 --color: brown 这样的写法,百度一番之后仍然没啥头绪,今天偶然看到一篇文章之后才知道这是 css 变量,不禁感叹自从 V8 引擎之后花样越来越多。经过翻查总结(也没啥总结的,翻过文档之后挺简单的),记录如下:一、基本用法变量声明:变量声明的...

2019-08-23 15:12:00 559

转载 js - 观察者模式与订阅发布模式

零.序言转载&参考:1.JavaScript 设计模式系列 - 观察者模式2.JavaScript 设计模式(六):观察者模式与发布订阅模式一、观察者模式(observer)概要:观察者模式:定义了对象间一种一对多的依赖关系,当目标对象 Subject 的状态发生改变时,所有依赖它的对象 Observer 都会得到通知。  这种模式的实质...

2019-08-15 11:25:00 236

转载 css3 - transform, transition 与 translate

零.序言  css 3 的新特性,很多都停留在听说而非实际使用。transform, transition, translate 这三长得实在太像,刚开始的时候总是迷迷糊糊,分不清它们的功能。而最近新接入的项目以视觉效果为主,故也算是被动弄清基础含义。  先说结论,transform 与transitions 是属性,如同 border、width 一样,我们可以手动设置...

2019-08-14 11:09:00 408

转载 css - inline-block 盒子下的内容文字错位问题

参考资料:  “display:block-inline形式的Span或Div中添加文字后,导致Span或Div排版掉落、错位”的原因及解决方法;正文:  场景:两个 div 排在一行上,各有固定宽高,其中有一个 div 内部有文字和排版等其他填充;两个 div 杂七杂八的宽度加起来远小于 father 宽度。  拿到设计图之后,略想了一下,这不 so easy 么...

2019-08-05 16:25:00 605

转载 深浅拷贝

参考:  JavaScript专题之深浅拷贝。浅拷贝:  浅拷贝就是拷贝指向对象的指针,因此,如果其中一个对象改变了这个地址,就会影响到另一个对象。  在 js 中,如果与深拷贝一起提及的话,就意味着只在首层上进行一次完全(资源)复制,如果首层内部存在引用类型的对象,则这个对象仅仅是 copy 了内存地址而已。    常用的浅拷贝以及用法如数组中的 arr....

2019-07-25 09:55:00 97

转载 index-数据结构/算法

1.JavaScript 数据结构与算法之美转载于:https://www.cnblogs.com/cc-freiheit/p/11237679.html

2019-07-24 14:15:00 1563

转载 js 实现排序算法 -- 快速排序(Quick Sort)

原文:  十大经典排序算法(动图演示)快速排序  快速排序的基本思想:通过一趟排序将待排记录分隔成独立的两部分,其中一部分记录的关键字均比另一部分的关键字小,则可分别对这两部分记录继续进行排序,以达到整个序列有序。算法描述  快速排序使用分治法来把一个串(list)分为两个子串(sub-lists)。具体算法描述如下:从数列中挑出一个元素,称为 “...

2019-07-08 13:13:00 250

转载 js 实现排序算法 -- 归并排序(Merge Sort)

原文:  十大经典排序算法(动图演示)归并排序  归并排序是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为2-路归并。算法描述把长度为n的输入序列分成两个长度为n...

2019-07-03 15:00:00 310

转载 Typescript - 类型断言

原文:TypeScript基本知识点整理零、序言  类型断言,可以用来手动指定一个值的类型。  给我的感觉,和 java 中的强制类型转换很像。  常常和联合类型配合使用,如:// 错误示例function f13(name : string, age : string | number) { if (age.length) { //报错...

2019-07-01 08:37:00 94

转载 Typescript - 命名空间

原文:TypeScript基本知识点整理零、序言  命名空间给我的感觉更像是作用域demo:namespace Shuaige { export class DeHua { public name : string = '刘德华' say () { console.log(`我是${t...

2019-06-20 16:04:00 110

转载 Typescript - 泛型

原文:TypeScript基本知识点整理零、序言  很多时候,类型是写死的,不利于复用,泛型简单的理解就是声明时不设置具体类型,后期使用时再传入,解决类、接口、方法的复用性,以及对不特定数据类型的支持。一、泛型函数  函数在调用时,指定泛型 T 的类型function f9<T>(value:T) : T { //传入参数类型为T...

2019-06-19 14:32:00 115

转载 Typescript - 接口

原文:TypeScript基本知识点整理零、序:  接口定义:接口是对传入参数进行约束;或者对类里面的属性和方法进行声明和约束,实现这个接口的类必须实现该接口里面属性和方法;typescript中的接口用interface关键字定义。  接口作用:接口定义了某一批类所需要遵守的规范,接口不关心这些类的内部状态数据,也不关心这些类里方法的实现细节,它只规定这批类里必须...

2019-06-17 10:18:00 82

转载 Typescript - 类

原文:TypeScript基本知识点整理一、访问修饰符public - 公共修饰符,表示属性或者方法是公有的,在 类内部、子类内部、类的实例 都能被访问。class People { public name : string constructor(name:string) { //构造函数必须写 this.name = n...

2019-06-13 14:12:00 97

转载 js 实现排序算法 -- 插入排序(Insertion Sort)

原文:  十大经典排序算法(动图演示)插入排序  插入排序(Insertion-Sort)的算法描述是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。算法描述:一般来说,插入排序都采用 in-place 在数组上实现:从第一个元素开始,该元素可以认为已经被排序;取出下一个元素,在...

2019-06-11 15:27:00 162

转载 js 实现排序算法 -- 希尔排序(Shell Sort)

原文:  十大经典排序算法(动图演示)希尔排序  1959年Shell发明,第一个突破O(n2)的排序算法,是简单插入排序的改进版。它与插入排序的不同之处在于,它会优先比较距离较远的元素。希尔排序又叫缩小增量排序。算法描述:  将整个待排序的记录序列分割成为若干子序列分别进行直接插入排序,具体算法描述:选择一个增量序列t1,t2,…,tk,其中t1...

2019-06-11 15:27:00 272

转载 TCP 的三次握手和四次挥手

参考资料:  1.TCP的三次握手与四次挥手理解及面试题;  2.Http协议三次握手和四次挥手;  3.TCP通信的三次握手和四次撒手的详细流程(顿悟)前置:序号(也称序列号) -Sequence number - 占4个字节,用来标记数据段的顺序,TCP把连接中发送的所有数据字节都编上一个序号,第一个字节的编号由本地随机产生;给字节编上序号后...

2019-06-10 13:33:00 95

转载 TCP/IP 协议栈初识

原文:深入浅出 TCP/IP 协议栈0. 简介  TCP/IP 协议栈是网络通信中一系列网络协议的综合,是核心骨架。它定义了电子设备接入因特网、以及数据在它们之间的传输方式,是一份标准。TCP/IP 协议采用 4 层结构,分别是 应用层、传输层、网络层和链路层,每一层都呼叫它的下一层所提供的协议来完成自己的需求。我们大部分的工作是在看得见摸得着的应用层上,所以下层的事情不用...

2019-06-04 11:02:00 153

转载 js 实现排序算法 -- 冒泡排序(Bubble Sort)

原文:  十大经典排序算法(动图演示)冒泡排序(Bubble Sort)  冒泡排序是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。算法描述:比较相邻的元素...

2019-05-30 11:12:00 131

转载 js 实现排序算法 -- 选择排序(Selection Sort)

原文:  十大经典排序算法(动图演示)选择排序(Selection Sort)  选择排序(Selection-sort)是一种简单直观的排序算法。它的工作原理:首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。算法描述:初...

2019-05-30 11:11:00 264

转载 js new 与 return

前置:  默认情况下, 函数的返回值是 undefined (即没有定义返回值)。new 操作符  js 中的 new 操作符,可以是我们像 java 一样,获得一个新的对象,例如:function Person() { this.heart = 'red';}let per = new Person();console.log(per.h...

2019-05-29 13:24:00 161

转载 jQuery 源码学习 - 02 - jQuery.fn.extend 与 jQuery.extend

  参考资料:【深入浅出jQuery】源码浅析--整体架构,备用地址:chokcoco/jQuery-。  extend 方法在 jQuery 中是一个很重要的方法。jQuery 内部用它来拓展静态方法或者实例方法,也是开发 jQuery 插件必须要用到的方法。但是,在内部,是存在jQuery.fn.extend 与 jQuery.extend 两个 extend 方法的,而...

2019-05-28 09:23:00 73

转载 Typescript - 函数

原文:TypeScript基本知识点整理一、定义  有两种方式,函数声明和函数表达式。定义函数的时候,其参数和返回值均可以指定类型,当调用函数时,传入的参数必须与定义时的参数类型一致。声明式定义:// 参数类型 返回值类型function f(age:number) : string { return `找到了${age...

2019-05-27 10:48:00 90

转载 Typescript - 变量类型

原文:TypeScript基本知识点整理一、numberlet num1 : number = 20;let num2 : number = 175.5;let a1 : number = Infinity; //正无穷大let a2 : number = -Infinity; //负无穷小let a3 : number = NaN;  这...

2019-05-22 11:04:00 109

转载 js 实现数据结构 -- 散列(HashTable)

原文:  在 Javascript 中学习数据结构与算法。概念:  HashTable 类, 也叫 HashMap 类,是 Dictionary 类的一种散列表实现方式。  散列算法的作用是尽可能快地在数据结构中定位到某个值,如之前的一些数据结构中(说的就是 LinkedList),需要遍历数据结构才能得到,如果使用散列函数,就能知道值的具体位置,因此就能快速检索到该值,...

2019-05-20 11:08:00 213

转载 js Array 中的 map, filter 和 reduce

原文中部分源码来源于:JS Array.reduce 实现 Array.map 和 Array.filterArray 中的高阶函数 ---- map, filter, reducemap() - 映射var newArr = array.map((currentValue, index, array) => { return ... }, thisVal...

2019-05-17 16:20:00 92

转载 浏览器 回流和重绘

原文:你真的了解回流和重绘吗-陈纪庚序言  回流和重绘,浏览器(客户端)优化的重要思考方向之一,同时也将会是面试隐藏 boss,不过,要说难,排除掉浏览器底层渲染原理后也并不是那么困难。作为进阶资料,还是有必要掌握的。  先说核心结论:回流一定会触发重绘,而重绘不一定会回流。浏览器的渲染过程  上图是浏览器的渲染过程模型,我们可以看到过程:...

2019-05-16 14:01:00 193

转载 js 函数的防抖(debounce)与节流(throttle)

  原文:函数防抖和节流;序言:  我们在平时开发的时候,会有很多场景会频繁触发事件,比如说搜索框实时发请求,onmousemove, resize, onscroll等等,有些时候,我们并不能或者不想频繁触发事件,咋办呢?这时候就应该用到函数防抖和函数节流了! 准备材料:<div id="content" style="height:150px;l...

2019-05-07 19:22:00 444

转载 仿 ELEMENTUI 实现一个简单的 Form 表单

  原文:仿 ElmentUI 实现一个 Form 表单一、目标  ElementUI 中 Form 组件主要有以下 功能 / 模块:FormFormItemInput表单验证  在这套组件中,有 3 层嵌套,这里面使用的是slot 插槽,我们在接下来的代码中也需要运用到它。二、组件设计e-form 全局校验,并提供插...

2019-04-29 13:43:00 237

转载 Event-Loop In JS

  原文:最后一次搞懂 Event Loop  自打 ES 6 推出 Promise 改善了 js 的异步编程之后,eventloop 也越来越多地出现在视野当中。借用大佬们的话:“Event Loop 是 JavaScript 异步编程的核心思想,也是前端进阶必须跨越的一关。同时,它又是面试的必考点。” 话不多说,上代码。镇楼题:async function as...

2019-04-28 14:41:00 113

转载 call, apply 和 bind 方法

  我们知道,每个函数在调用的时候会产生一个执行上下文环境,而这个执行上下文环境中包含了诸如 this 等等信息。即当我们调用函数的时候,内部的 this 已经明确地隐式绑定到了某一个对象上。如果我们希望更换 this 的指向,我们该如何更改?  call/apply/bind 这三个函数能够满足我们的需要。一个示例:var common = 'common';...

2019-04-24 17:10:00 56

转载 jQuery 源码学习 - 01 - 简洁的 $('...')

  首先贴上学习参考资料:【深入浅出jQuery】源码浅析--整体架构,备用地址:chokcoco/jQuery-。  jQuery 库,js 开发的一个里程碑,它的出现,让网页开发者们告别荒蛮的上古时代,初步解放生产力,正式进入黄铜时代。  虽然如今 Angular/React/Vue 三驾马车驰骋畋猎,jQuery的时代渐行渐远,但是它的思想它的设计都有着里程碑式的作用。当然...

2019-04-22 15:00:00 113

转载 js 实现数据结构 -- 字典(Dictionary)

原文:  在 Javascript 中学习数据结构与算法。概念:  集合、字典、散列表都可以存储不重复的数据。字典和我们上面实现的集合很像。  当然,字典中的数据具有不重复的特性。js 中 Object 的键值对 key: value 的形式就是字典的实现,所以字典通常也称为映射。实现一个简单的字典类:class Dictionary {...

2019-04-17 10:46:00 641

转载 Async/Await 学习与示例

  参考:Async/await学习  es 7 提供了对 promise 对象的更好的操作,省去了很多丧心病狂的链式异步请求,promise 是回调地狱的福音,而 Async/Await 则是 promise 的天使。Await  await 关键字修饰的东西只能用在 async 修饰的函数中,这就意味着,await 的出现一定会有 async 的身影。因此,awai...

2019-04-16 16:02:00 107

转载 react 事件绑定 es5/es6

// vscode shift + ctrl + v 预览es 5 写法无参函数的绑定first methods定义函数:handleClick(e) { // e - 事件对象 e.preventDefault(); // doSomething ...}constructor 中绑定函数的执行上下文this.handleClick = th...

2019-04-14 21:15:00 162

转载 react 入坑笔记(六) - 组件的生命周期

React 组件生命周期详细参考: react 组件生命周期组件的生命周期可分为三个状态:  1.Mounting:已经挂载/插入到真实 DOM 树上;  2.Updating:正在被重新渲染;  3.Unmounting:已经移出 DOM 树;生命周期的钩子函数:(v16之前)  1. componentWillMount 首次渲染之前调用;...

2019-04-08 17:25:00 129

转载 js 实现数据结构 -- 集合(MySet)

原文:  在 Javascript 中学习数据结构与算法。概念:  即数学中的集合,在计算机科学中被应用成数据结构。  当然,集合中的数据具有不重复的特性。js 集合的原理大致上是 Object 的键值对 key: value 的形式,细微的不同是集合应用的是 value: value 的形式(即 key === value),并且 ES6 中 Set 中的 key...

2019-03-26 13:32:00 155

转载 js 实现数据结构 -- 链表(LinkedList)

原文:  在 Javascript 中学习数据结构与算法。概念:  链表存储有序的元素集合,但不同于数组,链表中的元素在内存中并不是连续放置的。每个 元素由一个存储元素本身的节点和一个指向下一个元素的引用(也称指针或链接)组成。下图展示了链表的结构:  相对于传统的数组,链表的一个好处在于,添加或移除元素的时候不需要移动其他元素。然而,链表需要使用指针,因此...

2019-03-25 10:28:00 333

空空如也

空空如也

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

TA关注的人

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