自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 问答 (1)
  • 收藏
  • 关注

转载 从一道题浅说JavaScript的事件循环

最近看到这样一道有关事件循环的前端面试题://请写出输出内容async function async1() { console.log('async1 start'); await async2(); console.log('async1 end');}async function async2() { console.log('async2');}con...

2019-09-04 14:47:41 174

转载 webSocket详解,与Socket的区别

webSocket介绍与原理WebSocket protocol 是HTML5一种新的协议。它实现了浏览器与服务器全双工通信(full-duplex)。一开始的握手需要借助HTTP请求完成。目的:即时通讯,替代轮询网站上的即时通讯是很常见的,比如网页的QQ,聊天系统等。按照以往的技术能力通常是采用轮询、Comet技术解决。HTTP协议是非持久化的,单向的网络协议,在建立连接后只允许浏览器向...

2019-09-04 09:35:48 321

原创 BFC详解以及BFC的应用

什么是BFC?BFC(Block Formatting Context )块级格式化上下文。BFC是CSS里的一种规则。BFC的原理内部的box会在垂直方向,一个接一个的放置每个元素的margin box的左边,与包含块border box的左边相接触(对于从做往右的格式化,否则相反)box垂直方向的距离由margin决定,属于同一个bfc的两个相邻box的margin会发生重叠bf...

2019-09-03 14:53:05 360

原创 JS实现树数据结构

树是一种分层数据的抽象模型。二叉树二叉树中的节点最多只能有两个字节点:一个是左侧子节点,另一个是右侧子节点。二叉搜索树二叉搜索树(BST)是二叉树的一种,但是它只允许你在左侧节点存储比父节点小的值,在右侧节点存储比父节点大或者等于的值。二叉搜索树代码实现:function BinarySearchTree(){ var Node = function(key){ ...

2019-08-19 10:44:52 548

原创 JS实现散列表数据结构

散列算法的作用是尽可能快的在数据结构中找到一个值。在链表等数据结构中获得一个值,需要遍历整个数据结构来找到他。但是散列表中,使用散列函数,就可以知道值的具体位置,因此能够快速检索到值。散列函数的作用是给定一个键值,然后返回值在表中的地址。代码实现:function HashTable(){ var table = []; // 实现一个散列函数 var hashCode...

2019-08-18 11:07:10 317

原创 JS实现链表数据结构

链表存储有序的元素集合,但不同于数组,链表中的元素在内存中并不是连续放置的。每个元素由一个存储元素本身的节点和一个指向下一个元素的引用(指针或链接)组成。链表的一个好处在于,添加或者移除元素的时候不需要移动其他的元素。然而链表需要使用指针。数组可以直接访问任何位置的元素,而链表想要访问中间的一个元素,需要从起点(表头)开始迭代,直到找到所需的元素。function LinkList(){ ...

2019-08-15 21:16:13 421

转载 Http缓存

Http 缓存机制是web 性能优化的重要手段HTTP报文HTTP报文就是浏览器和服务器间通信时发送及响应的数据块。浏览器向服务器请求数据,发送请求(request)报文;服务器向浏览器返回数据,返回响应(response)报文。报文信息主要分为两部分:首部(header)–附加信息(cookie,缓存信息等)与缓存相关的规则信息,均包含在header中数据的主体部分(body)–H...

2019-08-15 16:15:20 114

原创 Http协议

requestGET /mix/76.html?name=kelvin&password=123456 HTTP/1.1//请求类型 要访问的资源 协议版本Host: www.fishbay.cn //目的地 主机域名Upgrade-Insecure-Requests: 1User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_1...

2019-08-15 11:10:11 264

转载 Http长短链接及WebSocket

HTTP协议与TCP/IP协议的关系TCP/IP是个协议组,可分为三个层次:网络层、传输层和应用层。在网络层有IP协议、ICMP协议、ARP协议、RARP协议和BOOTP协议。在传输层中有TCP协议与UDP协议。在应用层有:TCP包括FTP、HTTP、TELNET、SMTP等协议;UDP包括DNS、TFTP等协议。HTTP的长连接和短连接本质上是TCP长连接和短连接。HTTP属于应用层协...

2019-08-15 10:14:11 401

原创 排序算法总结及JS实现

冒泡排序冒泡排序比较任何两个相邻的项,如果第一个比第二个大,则交换它们。元素项向上移动至正确的顺序。function bubbleSort(arr){ var len = arr.length; for(var i=0;i<len;i++){ for(var j=0;j<len-1-i;j++){ //内循环减去外循环中已跑过的次数,可以避...

2019-08-10 10:03:45 151

转载 正则表达式大全

转自:https://any86.github.io/any-rule/正则大全A股代码/^(s[hz]|S[HZ])(000[\d]{3}|002[\d]{3}|300[\d]{3}|600[\d]{3}|60[\d]{4})$/大于0, 小于150, 支持小数位出现5, 如145.5, 用于判断考卷分数/^150$|(^\d|^[1-9]\d|^[1][0-4]\d)(\.5)?$...

2019-08-01 10:41:08 185

原创 JS(ES5,ES6)实现队列数据结构

队列遵循先进先出原则。队列在尾部添加新元素,并从顶部移出元素,最新添加的元素必须排在队列的末尾。ES5:function Queue(){ let items = []; // 向队列添加元素 this.enqueue = function(ele){ items.push(ele); } //从队列移出元素 this.deque...

2019-07-28 17:04:00 1559

原创 栈的应用

栈的实际应用非常的广泛。在回溯问题中,它可以存储访问过的任务或者路径,撤销的操作等等。从十进制到二进制要把十进制转化成二进制,我们可以将该十进制数字和2整出,直到结果是0为止。function Stack(){ let items = []; // 向栈添加元素 this.push = function(ele){ items.push(ele); ...

2019-07-28 16:25:31 142

原创 JS(ES5,ES6)实现栈数据结构

栈是一种遵从后进先出原则的有序集合。新添加的或待删除的元素都保存在栈的同一端,称作栈顶,另一端叫做栈底。栈也被用在编程语言的编译器和内存中保存变量,方法调用等。ES5实现function Stack(){ let items = []; // 向栈添加元素 this.push = function(ele){ items.push(ele); ...

2019-07-28 15:46:16 540

原创 node中req.params,req.query,req.body三者的区别

req.params,req.query,req.body三者经常容易弄混,今天就记录一下三者的区别。req.params,req.query是用在get请求当中,而req.body是用在post请求中的req.paramsrouter.get('/modify/:articleID', function(req, res, next){ res.send('articleID is ...

2019-06-27 14:55:27 6301 1

原创 React中ref使用总结

ref不仅可以用来获取表单元素,还可以用来获取其他任意DOM元素,甚至可以用来获取React组件实例。但绝大多数场景下,应该避免使用ref,因为它破坏了React中以props为数据传递介质的典型数据流。在DOM元素上使用ref在DOM元素上使用ref是最常见的使用场景。ref接收一个回调函数作为值,在组件被挂载或卸载时,回调函数会被调用,在组件被挂载时,回调函数会接收当前DOM元素作为参数...

2019-06-24 15:27:17 1092 2

原创 react生命周期总结

组件从被创建到被销毁的过程称为组件的生命周期。对于一个基本的react组件,可以将每个react组件的生命周期分为:初始化,挂载,更新,卸载四个阶段。初始化阶段:组件初始化阶段的方法有:getDefaultProps(),getInitialState().挂载阶段:这个阶段组件被创建,执行初始化,并挂载到DOM中,完成第一次渲染。依次调用的生命周期方法有:(1) construct...

2019-06-14 10:09:02 185

原创 利用Python处理excel表格数据

利用pandas高效处理数据。pandas依赖xlrd模块来处理Excel。安装这个模块:pip install xlrd安装pandas,安装命令:pip install pandaspandas处理Excel表单提前准备一个Excel文件:dataFall2018.xlsx,有一个表单,表单名为Sheet1;Sheet1的数据展示如下:引入pandas模块:import ...

2019-06-06 14:59:44 12369 1

原创 如何用命令将本地项目上传到git,并创建分支开发,最后合并到master

先进入项目文件夹,然后通过git init把这个项目变成git可以管理的仓库git init把文件添加到版本库中,使用git add .添加到暂存区里面去,不要忘记后面的小数点“.”,意为添加文件夹下的所有文件.git add .用命令git commit 把文件提交到仓库,引号内为提交说明git commit -m 'commit'将本地项目关联到远程仓库gi...

2019-05-15 21:49:46 4177

原创 webpack4.x的学习总结

什么是webpack?Webpack是一个打包模块化JavaScript的工具,在webpack里一切文件皆模块,通过loader转换文件,通过plugin注入钩子,最后输出由多个模块组合成的文件。webpack的优点专注于处理模块化的项目,能做到开箱即用,一步到位;可通过Plugin扩展,完整好用又不失灵活;使用场景不局限于web开发;社区庞大活跃,经常引入紧跟时代发展的新特性,能...

2019-05-10 16:31:54 207

原创 在react中实现表格数据的导入,导出,以及“type =‘file’”按钮的样式修改

最近项目需要实现表格数据的导入导出功能,查看了很多资料,下面进行一个总结。表格数据导入:数据导入用的插件是:SheetJS js-xlsx;这是一款能够读写多种格式表格的插件,浏览器支持良好,并且能在多个语言平台上使用。Github地址:https://github.com/SheetJS/js-xlsx使用1.安装依赖:npm install xlsx;2.在项目中引用:import...

2019-04-30 17:58:02 4567 1

原创 在react中实现打印功能

最近需要在react项目中实现打印功能,刚开始想到的都是基于window.print(),但是window.print()如果直接打印的话,没有样式.直接将打印内容设置为打印的区域的话,当你取消打印的时候你会发现整个网页都被你要打印的区域占满了,你还得用window.reload()重新加载一下页面,用户交互很不好。于是用了iframe方式解决,使用户交互更加友好,这个时候就暴露出一个问题,需要...

2019-04-29 17:50:21 9491 4

原创 在react中配置mobx

如何在react中配置mobx下面介绍两种方法:1.直接使用custom-react-scripts来创建项目:输入:create-react-app my-app --scripts-version custom-react-scripts然后使编辑器(我用的VSCode)支持ES.Next的装饰器语法:在项目的根路径下创建一个文件jsconfig.json,文件内容为:{“com...

2019-04-24 21:07:26 404

空空如也

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

TA关注的人

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