- 博客(140)
- 收藏
- 关注
原创 http协议各个版本的区别
HTTP协议(HyperText Transfer Protocol,超文本传输协议)是因特网上应用最为广泛的一种网络传输协议,所有的WWW文件都必须遵守这个标准。 HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)。 HTTP版本的演进: HTTP/0.9 – 单行协议:HTTP/0.9 极其简单:请求由单行指令构成,以唯一可用方法GET开头,其后跟目标...
2019-05-18 17:47:14
1120
原创 前端性能优化一网打尽
1、负载均衡 (1)DNS服务器实现负载均衡。缺点:无法判断哪一个server是down机的,无法判断每个server的负载 (2)硬件设备:负载均衡器(Load Balancer),作为独立的硬件置于客户端与服务器之间。价格昂贵 (3)反向代理:Nginx服务器,反向代理是实现负载均衡的主流手段之一,当我们访问拥有反向代理的网站时,实际访问的是其反向代理服务器,而非真正的服务器,当请求到达反向代...
2019-05-13 00:34:21
227
原创 前端技术点
1 .标签:行内元素,块级元素,行内快元素以及区别 2 .jQuery事件绑定的几种方式:on ,live,delegate,bind. 3 .flex布局 4 .js继承 5 .bind , call及apply的用法和区别 6 .angularjs的声明周期:启动阶段、初始化阶段、编译阶段、运行阶段。 ...
2019-02-11 23:27:52
1822
原创 ## ES6新特性
ES6新特性 1.const、let关键字 ①const:用来定义一个常量,一旦定义后是不可以修改的。注意:如果用来定义引用类型,是可以修改他的属性值的 const PI = 3.14; console.log(PI);//3.14 //PI = 10; //报错:常量不可以重新赋值 const PERSON = {'age':17}; console.log(PERSON.age); ...
2018-11-18 22:58:42
546
原创 react按需加载或动态加载全部方法
1.webpack :require. ensure 2.react.lazy 3.loadable 上面是常用的三种方式,后续会写出详细内容
2020-11-12 10:30:53
1055
原创 mp3-id3v1和id3v2详解
区分id3v1和id3v2 <script type="text/javascript" src="binaryajax.js"></script> <script type="text/javascript" src="id3.js"></script> <script type="text/javascript"> //id3v2文件 //var file = "Isobel Campbell - Are You Going to L
2020-10-20 18:31:41
2620
原创 service worker
ExtendableEvent.waitUntil() 方法告诉事件分发器该事件仍在进行。这个方法也可以用于检测进行的任务是否成功。在服务工作线程中,这个方法告诉浏览器事件一直进行,直至 promise 解决,浏览器不应该在事件中的异步操作完成之前终止服务工作线程。 服务工作线程(service workers)中的 install 事件使用 waitUntil() 来将服务工作线程保持在 installing 阶段。如果传入 waitUntil() 的 promise 被拒绝,则将此次安装视为失败,丢弃这
2020-09-22 17:50:23
335
1
原创 eslint自动修复的package.json配置
{ "name": "app", "version": "1.0.0", "main": ".eslintrc.js", "directories": { "test": "test" }, "author": "", "license": "", "private": true, "repository": "", "scripts": { "test": "yarn && jest", "lint:js": "eslint
2020-09-17 17:23:26
2708
原创 ‘The fetching process for the media resource was aborted by the user agent at the user‘s request.‘报错
music的audio.play的时候报错。如下
2020-09-01 16:07:59
4113
3
原创 删除顽固的node_modules
工程里的node_modules确实很顽固,简单的删除根本不起作用。 试了rimraf 去删除也没有作用,最后还是上大招:rm -rf node_modules 一把搞定
2020-08-31 14:50:58
326
原创 浏览器兼容性
chrome: 最小的12px字体 html{ -webkit-text-size-adjust:none; } Firefox 第一:针对shadow dom,样式不显示,可以使用host去解决 第二:获取事件触发的父节点,shadow dom 下closest(‘选择器’)方法不执行的问题,使用getRootNode().host解决 ...
2020-08-12 13:55:42
481
原创 “Firefox is already running, but is not responding“报错处理
上述报错基本是是由于文件权限导致的,查看命令所操作的的文件,并设置自己的权限给文件,重新执行即可 chown -R yyyy:XXXXX 文件名 XXXX:代表你的用户名 yyyy:代表你的用户组, 如果没有用户组,就全写成用户名 ...
2020-08-12 13:47:15
1318
原创 linux修改文件的用户和群组
首先要在root权限或者sudo下才能执行成功。 chown -R abcd:wert 文件 其中 abcd 代表组 wert代表用户
2020-08-11 18:23:17
988
原创 error ‘xxxxxxxxx‘ is not defined no-undef报错解决
这个是eslint报的错,全局中找不到这个变量,但是大多数情况下,代码里已经定义了或者引用了 所以我们需要配置eslint 在eslint里面添加如下代码: "globals": { "xxxxx": true //xxxx -> 报错的变量 } ...
2020-08-04 10:34:58
12721
原创 Git分支间同步未提交的修改
有下面两种方法: 方法一: git stash git checkout branch2 git stash pop 方法二: git stash git checkout branch2 git stash list #检查在不同分支中创建的各种存储 git stash apply x #选择正确的一个 注意:git stash apply,会将当前分支的最后一次缓存的内容释放出来 转自:https://www.it1352.com/795549.html ...
2020-08-02 22:27:44
406
原创 处理 Makefile: recipe for target ‘xxxxx‘ failed 错误
运行make命令的时候报错: Makefile:638: recipe for target 'xxxxxxx' failed make: *** [xxxxxx] Error 1 仔细检查,build的文件已经生成了,所以执行make clean 清除上一次生成的可执行文件,再次执行make命令,ok搞定了 注意:make报错的原因有很多种,make clean只是其中一种,如果make clean后,执行命令还不成功的话,就要考虑是否是编码空格等导致的问题 ...
2020-07-16 10:46:50
139054
17
原创 UDP协议
前面我们介绍了了TCP协议,深入浅出TCP协议,为什么需要TCP协议?知道TCP是面向连接的提供可靠性服务的传输层协议,今天讲下同属于传输层的另一个协议——UDP。 正文 1 什么是UDP? UDP 是User Datagram Protocol的简称, 中文名是用户数据报协议,是OSI(Open System Interconnection,开放式系统互联) 参考模型中一种无连接的传输层协议,传输可靠性没有保证。 2 UDP报文头 UDP报文分为UDP报文头和UDP数据区域两部分。报头由源端口、目的端口、
2020-07-15 11:19:01
338
原创 git 仓库添加私钥
首先查看是否有私钥,如果没有的话去生成私钥,本文讨论的是有私钥的情况 **第一步:**命令行执行下面三个命令查看私钥并复制私钥内容 cd ~/.ssh ls cat id_rsa 第二步:git代码仓库添加私钥 进入到具体仓库下 在最下面的settings里点击CI/CD,进入下图界面 在此编辑即可,将上面的私钥内容粘贴到value里就好了 ...
2020-06-19 10:16:40
1766
原创 adb指令
adb root adb shell adb shell getevent -l adb reboot adb remoute adb disable-verity
2020-06-17 11:26:55
281
原创 js之get、set详解
了解之前先看代码,看完之后保证神清气爽,瞬间融汇贯通,上代码! const obj = { log: ['a', 'b', 'c'], get latest() { console.log("this is get function") }, quit: function(){ console.log("this is quit function") } }; console.log(obj.latest);//this is get function console.
2020-06-15 18:09:01
5714
1
原创 js和React Hooks的防抖和节流
概念 防抖:多次连续调用执行一次 节流:多次连续调用,在一段时间内只执行一次 两者的目的都是减少触发的次数,保证性能和效率,区别在于业务场景和需求的不同。可以触发防抖和节流的事件有:onscroll、onmouseMove、onChange、onResize等。 具体怎么实现的还是看代码比较容易理解 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title&
2020-06-09 15:21:20
1598
原创 input的粘贴事件
直接操作DOM的话比较简单,还有一种特殊情况:shadow dom的粘贴事件 就需要先真实dom: 使用定时器setTimeout()去获取就可以了 input.addEventListener('paste', event => { event.preventDefault(); let pasteValue=(event.clipboardData || window.clipboardData).getData('text'); document.execCommand('in
2020-06-02 18:07:30
3149
原创 meta标签
元数据(Metadata)是数据的数据信息。 标签提供了 HTML 文档的元数据。元数据不会显示在客户端,但是会被浏览器解析。 META元素通常用于指定网页的描述,关键词,文件的最后修改时间,作者及其他元数据。 元数据可以被使用浏览器(如何显示内容或重新加载页面),搜索引擎(关键词),或其他 Web 服务调用 注意: 标签通常位于 区域内。 meta 标签的属性: charset: character_set 定义文档的字符编码。 content 定义与 http-equiv 或 name 属性相
2020-05-18 17:22:12
203
原创 JS经典案例
function Foo() { getName = function () { alert (1); }; return this; } Foo.getName = function () { alert (2);}; Foo.prototype.getName = function () { alert (3);}; var getName = function () { alert (4);}; function getName() { alert (5);} //答案: Foo.g
2020-05-09 18:25:00
1009
原创 日期在一年所有时间中的排序
var runNian=[0,31,29,31,30,31,30,31,31,30,31,30,31]; var pingNian = [0,31,28,31,30,31,30,31,31,30,31,30,31]; function sort(date){ var sortDate = 0; var dateArr = date.split('-'); var mont...
2020-05-07 11:35:08
646
原创 Http三次握手和四次挥手
前置:1、Http请求是基于Tcp connection这个链接的 2、位码即tcp标志位,有6种标示: SYN(synchronous建立联机) 、ACK(acknowledgement 确认)、 PSH(push传送) FIN(finish结束)、RST(reset重置)、 URG(urgent紧急) ...
2020-04-30 14:32:55
1232
原创 Object对象常用方法
Object.entries()方法返回一个给定对象自身可枚举属性的键值对数组,其排列与使用 for…in 循环遍历该对象时返回的顺序一致(区别在于 for-in 循环还会枚举原型链中的属性)。 const object3 = { a: 'somestring', b: 42 }; console.log(Object.entries(object3));//[[a: 'somestri...
2020-04-29 14:13:04
383
原创 JavaScript中的可枚举属性与不可枚举属性
在JavaScript中,对象的属性分为可枚举和不可枚举之分,它们是由属性的enumerable值决定的。可枚举性决定了这个属性能否被for…in查找遍历到。 一、怎么判断属性是否可枚举 js中基本包装类型的原型属性是不可枚举的,如Object, Array, Number等,如果你写出这样的代码遍历其中的属性: var num = new Number(); for(var pro in nu...
2020-04-29 10:53:31
180
原创 对称加密和非对称加密
对称加密: 加密和解密的秘钥使用的是同一个. 非对称加密: 与对称加密算法不同,非对称加密算法需要两个密钥:公开密钥(publickey)和私有密钥(privatekey)。 对称加密算法: 密钥较短,破译困难,除了数据加密标准(DES),另一个对称密钥加密系统是国际数据加密算法(IDEA),它比DES的加密性好,且对计算机性能要求也没有那么高. 优点: 算法公开、计算量小、加密速度快、加密效率高...
2020-04-29 10:13:41
264
原创 前端常见跨域解决方案
什么是跨域? 跨域是指一个域下的文档或脚本试图去请求另一个域下的资源,这里跨域是广义的。 广义的跨域: 1.) 资源跳转: A链接、重定向、表单提交 2.) 资源嵌入: 、什么是同源策略? 同源策略/SOP(Same origin policy)是一种约定,由Netscape公司1995年引入浏览器,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,浏览器很容易受到XSS、CSFR等攻击。所...
2020-04-28 11:26:12
204
原创 js 统计字符串中字符出现的次数并排序
如题,先统计,在排序 var ary = "asasDFGHadDfFFhjkMNJGBHGDsdfghjfghjkdfghjkl"; var obj = {}; var i = 0; var objArr = []; ary1 = ary.toLocaleLowerCase(); //将字符串转为小写 for(i = 0; i < ary1.length; i++) { key ...
2020-04-27 16:32:59
2062
原创 js 字符串的全排序
实现全排序 function fullpermutate(str) { var result = []; if (str.length > 1) { //遍历每一项 for (var m = 0; m < str.length; m++) { //拿到当前的元素 var left = str[m]; //除当前元素的其他元素组合 ...
2020-04-27 14:24:04
3066
原创 字符串和数组常用方法
数组 一行代码去重:new Set(arr) 数组反转:reverse 查找:indexOf(返回下标)、includes(返回布尔值) 字符串 拆分:split 拼接:join 替换:replace 查找:indexOf
2020-04-26 18:13:55
247
原创 flex 左右固定自适应和溢出处理
这个东西多看看代码就可以了 <!DOCTYPE html> <html> <head> <style> .footer { width: 300px; height: 20px; display: flex; border: 1px solid #000; } .count { background: #3cc8b4; fl...
2020-04-02 18:19:21
956
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅