自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(30)
  • 资源 (8)
  • 收藏
  • 关注

原创 new 的实现

如果返回的是function create() { // 创建一个空的对象 let obj = new Object() // 获得构造函数 let Con = [].shift.call(arguments) // 链接到原型 obj.__proto__ = Con.prototype // 绑定 this,执行构造函数 可以访...

2019-09-27 17:44:20 272

转载 JavaScript中bind和new共同作用时this的指向问题

本文建议读者先了解JavaScript中this的基本概念再阅读。最近一个多月一直加班……都没写东西。。之前翻书时偶然看到书中提到了这么一个情景:function foo(something) { this.a = something}var obj1 = {};var bar = foo.bind(obj1);bar(2);console.log(obj1.a);...

2019-09-25 20:42:43 821

转载 JavaScript中instanceof到底是以什么为依据呢?

function new_instance_of(leftVaule, rightVaule) { let rightProto = rightVaule.prototype; // 取右表达式的 prototype 值 leftVaule = leftVaule.__proto__; // 取左表达式的__proto__值 while (true) { if...

2019-09-25 20:34:07 258

转载 React中setState真的是异步的吗

https://segmentfault.com/a/1190000014131698

2019-09-24 20:04:01 225

转载 React - getSnapshotBeforeUpdate() 的使用

getSnapshotBeforeUpdate() 方法1:在render之前调用,state已更新2:典型场景:获取render之前的dom状态我们来看一个例子,每一秒钟都会加入一个新的<div>msg : number</div>假如我们使用滑轮移到某个地方,内容物会随着时间不断下降,因为新生成的div会把它挤下来,如何保持不动了?<sc...

2019-09-24 11:12:03 4424

原创 react中createFactory, createClass, createElement分别在什么场景下使用,为什么要这么定义?

三者用途稍有不同,按依赖关系调整下顺序:1. createClass,如其名就是创建React组件对应的类,描述你将要创建组件的各种行为,其中只有当组件被渲染时需要输出的内容的render接口是必须实现的,其他都是可选:var Hello = React.createClass({ render: function() { return <div>Hel...

2019-09-24 11:03:39 616

转载 React的Portals的用法

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本文链接:https://blog.csdn.net/mmzzll2019/article/details/89348085在线演示https://myp00yr1xx.codesandbox.io/react-portal在线代码https://codesandbox.io/embed/...

2019-09-24 10:54:27 2581

原创 React中的Fragment

作用:代替div作为外层,可做不可见的包裹元素。React中一个组件往往要返回多个元素,同时,React又要求这些元素必须被包裹在一个元素下,最普遍的做法是用<div>包裹。这样做的问题是增加了许多不必要的嵌套,无形中增加了浏览器的渲染压力。从react 16开始, render支持返回数组:import React from 'react';export default...

2019-09-24 10:36:48 733

转载 React.memo例子

1.React.memo是一个高阶组件,类似于React.PureComponent,不同于React.memo是function组件,React.PureComponent是class组件。2.这种方式依然是一种对象的浅比较,有复杂对象时无法render。3.在React.memo中可以自定义其比较方法的实现(可选参数)。//MyComponent.jsimport Re...

2019-09-24 10:32:47 514

转载 mysql的四种索引类型

一、索引的类型mysql索引的四种类型:主键索引、唯一索引、普通索引和全文索引。通过给字段添加索引可以提高数据的读取速度,提高项目的并发能力和抗压能力。索引优化时mysql中的一种优化方式。索引的作用相当于图书的目录,可以根据目录中的页码快速找到所需的内容。主键索引:主键是一种唯一性索引,但它必须指定为PRIMARY KEY,每个表只能有一个主...

2019-09-24 10:09:39 753

转载 React 异步组件

之前写过一篇Vue 异步组件的文章,最近在做一个简单项目的时候又想用到 React 异步组件,所以简单地了解了一下使用方法,这里做下笔记。传统的 React 异步组件基本都靠自己实现,自己写一个专门的 React 组件加载函数作为异步组件的实现工具,通过import()动态导入,实现异步加载,可以参考【翻译】基于 Create React App路由4.0的异步组件加载(Code Spl...

2019-09-24 10:05:27 275

原创 Nodejs中流的操作,实现简单的pipe

fs与流都可以处理文件,为什么还要用流:  fs模块处理文件的缺点:将文件的数据全读到内存中,在把数据写到文件内,会大量占用内存流: 流(stream)是 Node.js 中处理流式数据的抽象接口,是一组有序的,有起点和终点的字节数据传输手段。可以实现将数据从一个地方流动到另一个地方,其边读取边写入的特点有别于fs模块的文件处理,并且可以做到控制读取文件和写入文件的速度,...

2019-09-20 12:19:34 1283 1

转载 ES6的模块循环加载

首先,执行a.mjs以后,引擎发现它加载了b.mjs,因此会优先执行b.mjs,然后再执行a.mjs。接着,执行b.mjs的时候,已知它从a.mjs输入了foo接口,这时不会去执行a.mjs,而是认为这个接口已经存在了,继续往下执行。总是先执行依赖是正确的,但是发现循环的时候,并不会继续执行下去。而是认为这个接口以存在这个接口确实存在了。Module 执行分 Parse, I...

2019-09-19 18:29:19 547

转载 JavaScript 模块的循环加载

"循环加载"(circular dependency)指的是,a脚本的执行依赖b脚本,而b脚本的执行又依赖a脚本。// a.jsvar b = require('b');// b.jsvar a = require('a');通常,"循环加载"表示存在强耦合,如果处理不好,还可能导致递归加载,使得程序无法执行,因此应该避免出现。但是实际上,这是很难避免的,尤其是依...

2019-09-19 18:28:02 571

转载 使用cluster模块启动多进程nodejs应用

使用命令行的方式运行nodejs web应用,一旦程序有bug造成进程崩溃,应用就不能继续提供服务了;并且,nodejs是单线程的模式,不能充分利用服务器的多核资源。使用node的cluster模块可以监控应用进程,退出后重新启动node应用进程,并可以启动多个node应用进程,做到负载均衡,充分利用资源。启动单个进程node bin/www文件www的内容为:/** * ...

2019-09-19 16:09:35 939

转载 nodejs中的子进程,深入解析child_process模块和cluster模块

  node遵循的是单线程单进程的模式,node的单线程是指js的引擎只有一个实例,且在nodejs的主线程中执行,同时node以事件驱动的方式处理IO等异步操作。node的单线程模式,只维持一个主线程,大大减少了线程间切换的开销。  但是node的单线程使得在主线程不能进行CPU密集型操作,否则会阻塞主线程。对于CPU密集型操作,在node中通过child_process可以创建独立的子进程...

2019-09-18 17:19:51 660

转载 两两交换链表中的节点

题目描述给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。示例: 给定 1->2->3->4, 你应该返回 2->1->4->3. 来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/swap-nodes-in...

2019-09-18 12:06:03 252

原创 .反转链表

定义3个指针,分别指向当前遍历到的结点、它的前一个结点及后一个结点。在遍历过程中,首先记录当前节点的后一个节点,然后将当前节点的后一个节点指向前一个节点,其次前一个节点再指向当前节点,最后再将当前节点指向最初记录的后一个节点,如此反复,直到当前节点的后一个节点为NULL时,则代表当前节点时反转后的头结点了。  整个过程只需遍历链表一次,效率提高不少,且需要的外部空间也较第一种方法要少很多,实现...

2019-09-18 07:19:18 226

转载 算法复杂度描述中为什么用“logn”,而不用“log2n”、“lnn”或“lgn”

问题描述算法复杂度描述中为什么用“logn”,而不用“log2n”、“lnn”或“lgn”原因假如有logaB(a为底数),由换底公式可得:logcA(c为底数)为常数,由O的运算规则"O(C×f(N))=O(f(N)),其中C是一个正的常数"得O(logaB)=O(logcB)可知算法的时间复杂度与不同底数只有常数的关系,均可以省略自然可以用logN代替。———————————...

2019-09-17 10:16:26 5289

原创 第 138 题:反转链表,每 k 个节点反转一次,不足 k 就保持原有顺序 [哔哩哔哩]

大致思路:遍历链表,将每个元素添加到一个栈中 判断栈的长度,达到指定长度后,出栈,即可反转 若最后一次栈的长度没有达到指定长度,则将这个栈当作队列操作,直接出队class Node { constructor(value) { this.value = value; this.next = null; } print() { let pointer...

2019-09-11 16:36:17 524 1

转载 TCP之三次握手四次挥手

TCP报文格式TCP提供一种面向连接的,可靠的字节流服务。TCP首部的数据格式如下。(如果不计任选字段,通常是20个字节)字段分析 源端口:源端口和IP地址的作用是标识报文的返回地址。 目的端口:端口指明接收方计算机上的应用程序接口。 TCP报头中的源端口号和目的端口号同IP数据报中的源IP与目的IP唯一确定一条TCP连接。 序号:是TCP可靠传输的关键部...

2019-09-05 10:09:38 247

转载 TCP建立连接为什么是三次握手,为什么不是两次或四次?

什么是三次握手学过网络编程的人,应该都知道TCP建立连接的三次握手,下面简单描述一下这个过程。如图所示第一次握手:客户端发送TCP包,置SYN标志位为1,将初始序号X,保存在包头的序列号(Seq)里。第二次握手:服务端回应确认包,置SYN标志位为1,置ACK为X+1,将初始序列号Y,保存在包头的序列号里。第三次握手:客户端对服务端的确认包进行确认,置SYN标志位为0...

2019-09-05 09:34:39 520

转载 给定一个链表,删除链表的倒数第n个节点,如何实现

给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。示例:给定一个链表: 1->2->3->4->5, 和 n = 2.当删除了倒数第二个节点后,链表变为 1->2->3->5.我们可以使用两个指针而不是一个指针。第一个指针从列表的开头向前移动 n+1 步,而第二个指针将从列表的开头出发。现在,这两个指针被 n个结点分开。我们...

2019-09-03 16:33:12 1510

转载 在数组中找出3个数使得它们和为k

题目:给定一个集合S,试找出3个数a,b,c,使得a+b+c=0。也即从集合中找出所有的和为0的3个数。例如:集合S={-1,0,1,2,-1,4},则满足条件的3个数有2对:(-1, 0, 1)和(-1, 2, -1)。注意(-1,1,0)与(-1,0,1)算同一个解,所以不用重复考虑。当然该例子集合的解也可以写成:(0, 1, -1)和(2, -1, -1)。解法...

2019-09-03 16:08:21 1302

转载 https连接建立流程

假设你已经懂了非对称加密、数字签名、数字证书,如果不懂的话下面的你也看不懂。HTTPS的作用:在传输过程中通过加密来保护数据安全的,以免用户敏感信息被第三方获取后破解。它的工作流程如下:开始加密通信之前,客户端和服务器首先必须建立连接和交换参数,这个过程叫做握手(handshake)首先客户端向服务端发送一个请求,里面主要包括:一个客户端生成的随机数(Client random),以及...

2019-09-03 15:36:59 371

转载 公钥、私钥、数字签名和数字证书简介

加密方式简单来说分为两种,对称加密和非对称加密。对称加密:加密和解密用的是同一个秘钥,在对称加密算法中常用的算法有:DES、3DES、TDEA、Blowfish、RC2、RC4、RC5、IDEA等。这类加密算法的优点就是计算量小、加密速度快、加密效率高;但是缺点也很明显,在传输数据前,双方必须商定并保存好秘钥,任何一方的秘钥被泄露,加密信息就不再安全了。另外,每次使用对称加密算法时,都需要...

2019-09-03 15:36:26 801

原创 js做算法题-无重复字符的最长子串 求最长不重复字串,如1231456 => 231456 美团

无重复字符的最长子串题目来源:LeetCode No.3题目描述:无重复字符的最长子串给定一个字符串,找出不含有重复字符的最长子串的长度。示例:给定 "abcabcbb" ,没有重复字符的最长子串是"abc",那么长度就是3。给定 "bbbbb" ,最长的子串就是 "b",长度是1。给定 "pwwkew",最长子串是"wke",长度是3。请注意答案必须是一个子串,"pwk...

2019-09-02 19:11:21 1362 4

原创 函数实现 composeFunctions(fn1,fn2,fn3,fn4)等价于fn4(fn3(fn2(fn1))。

函数组合运行 说明:实现一个方法,可将多个函数方法按从左到右的方式组合运行。 如composeFunctions(fn1,fn2,fn3,fn4)等价于fn4(fn3(fn2(fn1))。 示例: const add = x => x + 1; const multiply = (x, y) => x * y; const multiplyAdd = composeFunc...

2019-09-02 18:30:14 717

转载 nginx中root和alias的区别

alias是把location的值替换掉,而root是拼接上location的值。举个例子:假设我们在服务器的路径/img/放了图片1.jpg。当配置alias时:location /pic/ { alias /img/}访问http://server_name/pic/1.jpg则能正常查看图片。当配置root时:location /pic/ { root...

2019-09-02 12:15:47 793 1

转载 module.exports和exports和export和export default的区别,import和require的区别

关于module.exports和exports的区别,我已经在前一篇文章讲过,传送门。在es5中,用module.exports和exports导出模块,用require引入模块。es6新增export和export default导出模块,import导入模块。一、在es6中的两种基本用法新建两个文件:a.js,b.js。a.js用于导出模块,b.js用户导入模块。两个文件放在...

2019-09-02 11:17:50 262

charles 4.1.1 破解包

charles 4.1.1 破解包 charlrs.jar

2017-05-03

jq插件生成二维码

jq插件生成二维码

2016-12-28

jquery日历

jquery日历

2016-11-09

h5移动时间控件

h5移动时间控件

2016-11-03

Des的js加密java解密

Des的js加密java解密

2016-11-03

Less编译神器,koala (考拉中文版)

koala 考拉 less 编译器 考拉中文版

2016-10-02

小猫杯 源代码 Angularjs

小猫杯 源代码 Angularjs 适合新手入门学习

2016-10-02

phpStudy 软件 PHP调试环境

最新的Apache+PHP+MySQL+phpMyAdmin+ZendOptimizer,一次性安装,无须配置即可使用,是非常方便、好用的PHP调试环境。该程序不仅包括PHP调试环境,还包括了开发工具、开发手册等。总之学习PHP只需一个包

2016-08-07

空空如也

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

TA关注的人

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