- 博客(34)
- 收藏
- 关注
原创 使用commitizen管理提交
npm install -g commitizen cz-conventional-changelogecho '{ "path": "cz-conventional-changelog" }' > ~/.czrc$git cz
2020-07-16 18:05:48
242
原创 addEventListener的执行顺序
html文件<html> <head> </head> <body> <div id="box1" style="height: 140;width : 140px;background-color:red "> box1 <div id="...
2019-09-07 16:17:55
3190
原创 Http和Https的区别
无论是在校学习还是找工作的时候,老师和面试官都问过同学http和https的区别。平时上网的时候也没有关注这个问题,只是知道计算机网络里Http的概念,所以最近才查资料好好补补这一块。其实这一块的知识延伸很广,如果之前不太了解加密算法和SSL协议,可以在学习了这个问题的基础上再做研究。一、Http和Https的基本概念Http:超文本传输协议(Http,HyperText Transfer P...
2019-09-05 11:29:26
128
转载 发布订阅模式与观察者模式
背景设计模式并非是软件开发的专业术语,实际上,“模式”最早诞生于建筑学。设计模式的定义是:在面向对象软件设计过程中针对特定问题的简洁而优雅的解决方案。通俗一点说,设计模式是在某种场合下对某个问题的一种解决方案。如果再通俗一点说,设计模式就是给面向对象软件开发中的一些好的设计取个名字。这些“好的设计”并不是谁发明的,而是早已存在于软件开发中。一个稍有经验的程序员也许在不知不觉中数次使用过这些设...
2019-08-31 20:39:59
190
原创 react高阶组件
高阶组件1、什么是高阶组件?高阶组件就是一个 React 组件包裹着另外一个 React 组件因为要访问它的内部状态,所以要用到继承高阶组件就是一个函数,它接受另一个组件作为参数,并返回一个新的组件。当 React 组件被包裹时(warped),高阶组件会返回一个增强的 React 组件。高阶组件让代码更具有复用性、逻辑性和抽象特性。2 、为什么要使用高阶组件?为了代码的复用性,减...
2019-08-29 16:07:13
206
原创 node.js的三大特点
1.单线程2.非阻塞I/O3.事件驱动在Node中,客户端请求建立连接,提交数据等行为,会触发相应的事件。在Node中,在一个时刻,只能执行一个事件回调函数,但是在执行一个事件回调函数的中途,可以转而处理其他事件(比如,又有新用户连接了),然后返回继续执行原事件的回调函数,这种处理机制,称为“事件环”机制。Node.js底层是C++(V8也是C++写的)。底层代码中,近半数都用于事件队列、...
2019-08-29 10:44:51
409
原创 cookie详解
http是无状态的,所以引入了cookie来管理服务器与客户端之间的状态与cookie相关的http首部字段有:1.Set-Cookie:它一个响应首部字段,从服务器发送到客户端,当服务器想开始通过cookie进行状态管理,它就会向客户端发送Set-Cookie字段。2.Cookie:它是一个请求首部字段,从客户端发送到服务器cookie是保存在客户端的,cookie是绑定在特定域名下的(...
2019-08-29 09:36:52
1495
原创 promise源码分析、Promise和async-await的区别与联系
详解Promise/Promise/A+ 规范Promise原理与实现简述promise原理Promise内部实现的原理源码太长了看不懂kkkkasync-await和Promise的关系promise与async和await的区别
2019-08-26 09:42:50
636
原创 html中meta标签的使用
meta标签作用META标签是HTML标记HEAD区的一个关键标签,提供文档字符集、使用语言、作者等基本信息,以及对关键词和网页等级的设定等,最大的作用是能够做搜索引擎优化(SEO)。PS:便于搜索引擎机器人查找、分类,互联网应用应该要注意。meta详解meta标签可分为两大部分:http-equiv和name变量。http-equivhttp-equiv相当于http的文件头作用,...
2019-08-25 11:20:30
547
1
原创 深入了解flex弹性盒(语法及应用)
本教程源自对大漠老师的一个完整的Flexbox指南 和阮一峰老师的Flex布局教程语法篇和实例篇的学习和整理,仅作为知识整理和分享,不作任何商业用途。本教程分为语法篇和实例篇和传统布局比较传统的网页布局(layout)解决方案,是基于盒模型,依赖display+float+position属性,这对于那些特殊的布局非常的不方便,比如垂直居中就不易于实现。2009年,W3C提出了一种新的...
2019-08-18 18:11:33
225
原创 深入了解float之“不完全脱离文档流”
本文目录:float的特性float与absolute的区别float与inline-block清除浮动的方法及优缺点1. float的特性一个元素设置了float属性,会表现出如下特性:包裹性块状格式化上下文破坏文档流没有margin合并文字环绕(设计初衷)float最早的设计目的是用于图片,使文字能够环绕在图片周围,像下面这样:文字环绕效果是很明显的,这里要...
2019-08-18 15:45:32
1317
原创 深入了解BFC
先来看看常见的定位方式定位方案是控制元素的布局,常见的有三种:普通流(normal flow)其实就是元素按照再HTML中的先后位置之上而下布局,在这个过程中,行内元素水平排列,直到当行被沾满然后换行,块级元素则会被渲染为完整的一个新行,除非另外制定,否则所有元素默认都是普通流定位,也可以说,普通六中元素的位置由该元素再HTML文档中的位置决定。浮动(float)在浮动布局中,元素首先...
2019-08-17 20:27:37
162
原创 javascript中的排序算法
1. 大O表示法2.冒泡排序3.选择排序3. 插入排序3. 希尔排序5.快速排序总体代码function ArrayList() { this.array = [] ArrayList.prototype.insert = function (item) { this.array.p...
2019-08-17 11:05:15
159
转载 2种方法实现经典的左侧固定宽度200px,右侧自适应宽度的布局
首先我们假定页面上已有下列元素:<body > <div id="left" ></div> <div id="right"></div> </body>第一种方法:float+margin-left这种方法是最简单也是最容易想到的方法(至少在我看来),请看如下CSS:div{ hei...
2019-08-16 15:14:03
3417
原创 怎样获取网址(url)中的字符串参数
1、获取整个URL字符串要想获取URL中的参数,首先我们就要获取到整个URL字符串。我们使用:“ http://www.zhihuaw.com/wap/tmpl/member/member.html?token=zhihua_wei”这个URL为例。 //window.location.protocol设置或获取 URL 的协议部分 var test = window.lo...
2019-08-13 17:04:28
4197
原创 记一次react+mbox的踩坑经历
问题:使用的是react和mbox,页面是用antd-mobile中的table封装的wulitable,columns设置显示的数据,但是需求是根据list的appid数据来对照mplist中的id数据,然后从mplist中拿到name数据显示到页面上,在这里我是这样写的@observerclass Manager extends React.Component<IProps, {}...
2019-08-08 11:41:07
905
原创 用js完成点击按钮实现复制的功能
先贴代码,Button是antd-design中的button,要做到的是点击button复制span中的内容。toClipboard = () => { const copySpan = document.getElementById('copy'); const range = document.createRange(); range.selectNodeC...
2019-08-07 11:06:37
5695
原创 记一次SuperAgent的使用
SuperAgent是什么?superagent它是一个强大并且可读性很好的轻量级ajaxAPI,是node里一个关于HTTP方面的一个库,而且它可以将链式写法玩的出神入化。 var superagent = require('superagent'); superagent .post('/api') .send({ '...
2019-08-06 19:51:30
1117
原创 判断字符串是否是json形式的字符串
以下是我写的方法,若为json字符串返回true,不是则返回falseisJson = (str) => { if (isNaN(Number(str))) { try { JSON.parse(str); return true; } catch (e) { return false; } ...
2019-08-06 19:34:54
7659
原创 浏览器渲染和服务器渲染区别
何为渲染?如果我们只是想显示一堆不变的数据,那么我们直接写一个a.html丢到服务器上让客户端访问就可以了。但这是基本不可能的事情,数据一般是变化的。你不可能为每套数据写一个视图,所以我们需要分离数据和视图,然后使用一种技术将数据塞到视图中,这种技术就叫渲染。这工作放在服务器上做就是服务器渲染,放在浏览器做就是浏览器渲染。这里的渲染,就是指生成html文档的过程,和浏览器渲染html没有关系。...
2019-08-06 12:07:10
913
转载 箭头函数和普通函数的区别
首先知道一下什么是箭头函数,箭头函数就是没有function关键字,而是一个类似箭头的函数:var a = ()=>{ return 1;}相当于function a(){ return 1;}那么就来看一下他们的区别箭头函数作为匿名函数,是不能作为构造函数的,不能使用newvar B = ()=>{ value:1;}var b = new B(...
2019-04-09 15:05:21
184
转载 DNS的递归查询和迭代查询
1.递归查询:{一次查询}是一般客户机和本地DNS服务器之间属递归查询,即当客户机向DNS服务器发出请求后,若DNS服务器本身不能解析,则会代替用户向另外的DNS服务器发出查询请求,直到得到结果然后转交给客户机。2.迭代查询;{反复查询}一般DNS服务器之间属迭代查询,假如DNS服务器A不能响应DNS服务器B的请求,则它会将DNS服务器C的IP给DNS服务器A,以便其再向DNS服务器C发出请...
2019-04-09 10:54:11
1172
转载 js中['1','2','3'].map(parseInt)输出1,NaN,NaN问题解析
由于map的回调函数的参数index索引值作了parseInt的基数radix,导致出现超范围的radix赋值和不合法的进制解析,才会返回NaN。详解:https://blog.csdn.net/freshlover/article/details/19034079#commentBox...
2019-04-08 16:27:24
757
转载 JavaScript中遇到“null instanceof Object ”返回值为false的解释
一、缘起1、alert(null instanceof Object); 返回值为false。2、typeof(null) == ‘object’这是为什么?按我们正常的理解,应该为true才对。而 null instanceof null会抛出异常:Uncaught TypeError: Right-hand side of ‘instanceof’ is not an object...
2019-04-03 10:20:38
6652
转载 js中的==和===
首先,= = equality 等同,= = = identity 恒等。= =, 两边值类型不同的时候,要先进行类型转换,再比较。= = =,不做类型转换,类型不同的一定不等。一言以蔽之:= = 先转换类型再比较, = = =先判断类型,如果不是同一类型直接为false。下面分别说明:一、= = =先说,这个比较简单。下面的规则用来判断两个值是否= = =相等:1、如果类型不...
2019-04-03 10:11:17
309
原创 JS中的数据类型转换
强制类型转换- 指将一个数据类型强制转换为其他的数据类型- 类型转换主要指,将其他的数据类型,转换为String Number Boolean一、 将其他的数据类型转换为String * 方式一: * - 调用被转换数据类型的toString()方法 * - 该方法不会影响到原变量,它会将转换的结果返回 * - 但是注意:null和unde...
2019-04-02 17:00:21
143
原创 会改变作用域链的三种方法(一般不用)
一、eval() 函数eval() 函数可计算某个字符串,并执行其中的的 JavaScript 代码。返回值通过计算 string 得到的值(如果有的话)。说明该方法只接受原始字符串作为参数,如果 string 参数不是原始字符串,那么该方法将不作任何改变地返回。因此请不要为 eval() 函数传递 String 对象来作为参数。如果试图覆盖 eval 属性或把 eval() 方法赋予...
2019-03-29 20:33:20
1448
原创 JS中的模块化,CommenJS、AMD、CMD和ES6中的模块化详解
目标:1. 理 解模块与模块化2. 了解各种模块化规范及其实现3. 区别各个模块化规范之间的区别4. 掌握基于CommonJS和ES6模块化规范的编码一. 模块化的理解1). 什么是模块?将一个复杂的程序依据一定的规则(规范)封装成几个块(文件), 并进行组合在一起块的内部数据/实现是私有的, 只是向外部暴露一些接口(方法)与外部其它模块通信2). 一个模块的组成私有的数据—...
2019-03-28 15:14:19
934
原创 内联元素的盒模型、文档流、浮动和定位
我真的不知道我是不是第一个发博客整理css中position的人,也不是在说自己很厉害的样子,就是想知道谁会整理这么简单的东西啊!!可是谁能想到我会被问这么简单的问题啊!!!!!而且谁又能想到我确确实实不会啊!!!!!!!!!!!我都说了css不记得了你还问,结果我回答不上来了吧!!!去你妈的!!!!!所有主流浏览器都支持 position 属性。注释:任何的版本的 Internet Exp...
2019-03-26 11:23:56
311
1
转载 js中对象的constructor属性及其作用
引用javascript 对象中的 constructor属性的作用?var a,b;(function(){ function A (arg1,arg2) { this.a = 1; this.b=2; } A.prototype.log = function () { console.log(this.a); } a = new A();...
2019-03-20 21:26:46
21052
4
原创 工厂方法和构造函数方法创造对象,以及原型和原型链的初级理解
**产生对象的方法**1.使用工厂方法创建对象将重复性代码封装在函数中,只用传形参就可以批量生产对象。function creatPerson(name,age){ //创建新对象 是局部的object var obj = new Object(); //向对象中添加属性 obj.name = namne; obj.age = age; obj.s...
2019-03-20 20:59:29
292
转载 面向对象和面向过程
■面向过程与面向对象编程的区别面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了;面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。可以拿生活中的实例来理解面向过程与面向对象,例如五子棋,面向过程的设计思路就是首先分析问题的步骤:1、开始游戏,2、黑子先走,3...
2019-03-18 14:46:27
157
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人