- 博客(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 1015
原创 前端性能优化一网打尽
1、负载均衡(1)DNS服务器实现负载均衡。缺点:无法判断哪一个server是down机的,无法判断每个server的负载(2)硬件设备:负载均衡器(Load Balancer),作为独立的硬件置于客户端与服务器之间。价格昂贵(3)反向代理:Nginx服务器,反向代理是实现负载均衡的主流手段之一,当我们访问拥有反向代理的网站时,实际访问的是其反向代理服务器,而非真正的服务器,当请求到达反向代...
2019-05-13 00:34:21 177
原创 前端技术点
1 .标签:行内元素,块级元素,行内快元素以及区别2 .jQuery事件绑定的几种方式:on ,live,delegate,bind.3 .flex布局4 .js继承5 .bind , call及apply的用法和区别6 .angularjs的声明周期:启动阶段、初始化阶段、编译阶段、运行阶段。...
2019-02-11 23:27:52 1698
原创 ## 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 458
原创 react按需加载或动态加载全部方法
1.webpack :require. ensure2.react.lazy3.loadable上面是常用的三种方式,后续会写出详细内容
2020-11-12 10:30:53 959
原创 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 2353
原创 service worker
ExtendableEvent.waitUntil() 方法告诉事件分发器该事件仍在进行。这个方法也可以用于检测进行的任务是否成功。在服务工作线程中,这个方法告诉浏览器事件一直进行,直至 promise 解决,浏览器不应该在事件中的异步操作完成之前终止服务工作线程。服务工作线程(service workers)中的 install 事件使用 waitUntil() 来将服务工作线程保持在 installing 阶段。如果传入 waitUntil() 的 promise 被拒绝,则将此次安装视为失败,丢弃这
2020-09-22 17:50:23 214 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 2571
原创 ‘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 3585 3
原创 删除顽固的node_modules
工程里的node_modules确实很顽固,简单的删除根本不起作用。试了rimraf 去删除也没有作用,最后还是上大招:rm -rf node_modules 一把搞定
2020-08-31 14:50:58 263
原创 浏览器兼容性
chrome:最小的12px字体html{ -webkit-text-size-adjust:none; }Firefox第一:针对shadow dom,样式不显示,可以使用host去解决第二:获取事件触发的父节点,shadow dom 下closest(‘选择器’)方法不执行的问题,使用getRootNode().host解决...
2020-08-12 13:55:42 390
原创 “Firefox is already running, but is not responding“报错处理
上述报错基本是是由于文件权限导致的,查看命令所操作的的文件,并设置自己的权限给文件,重新执行即可chown -R yyyy:XXXXX 文件名XXXX:代表你的用户名yyyy:代表你的用户组,如果没有用户组,就全写成用户名...
2020-08-12 13:47:15 1088
原创 linux修改文件的用户和群组
首先要在root权限或者sudo下才能执行成功。chown -R abcd:wert 文件其中 abcd 代表组wert代表用户
2020-08-11 18:23:17 902
原创 error ‘xxxxxxxxx‘ is not defined no-undef报错解决
这个是eslint报的错,全局中找不到这个变量,但是大多数情况下,代码里已经定义了或者引用了所以我们需要配置eslint在eslint里面添加如下代码:"globals": { "xxxxx": true //xxxx -> 报错的变量 }...
2020-08-04 10:34:58 12603
原创 Git分支间同步未提交的修改
有下面两种方法:方法一:git stashgit checkout branch2git stash pop方法二:git stashgit checkout branch2git stash list #检查在不同分支中创建的各种存储git stash apply x #选择正确的一个注意:git stash apply,会将当前分支的最后一次缓存的内容释放出来转自:https://www.it1352.com/795549.html...
2020-08-02 22:27:44 294
原创 处理 Makefile: recipe for target ‘xxxxx‘ failed 错误
运行make命令的时候报错:Makefile:638: recipe for target 'xxxxxxx' failedmake: *** [xxxxxx] Error 1仔细检查,build的文件已经生成了,所以执行make clean 清除上一次生成的可执行文件,再次执行make命令,ok搞定了注意:make报错的原因有很多种,make clean只是其中一种,如果make clean后,执行命令还不成功的话,就要考虑是否是编码空格等导致的问题...
2020-07-16 10:46:50 124133 17
原创 UDP协议
前面我们介绍了了TCP协议,深入浅出TCP协议,为什么需要TCP协议?知道TCP是面向连接的提供可靠性服务的传输层协议,今天讲下同属于传输层的另一个协议——UDP。正文1什么是UDP?UDP 是User Datagram Protocol的简称, 中文名是用户数据报协议,是OSI(Open System Interconnection,开放式系统互联) 参考模型中一种无连接的传输层协议,传输可靠性没有保证。2UDP报文头UDP报文分为UDP报文头和UDP数据区域两部分。报头由源端口、目的端口、
2020-07-15 11:19:01 256
原创 git 仓库添加私钥
首先查看是否有私钥,如果没有的话去生成私钥,本文讨论的是有私钥的情况**第一步:**命令行执行下面三个命令查看私钥并复制私钥内容cd ~/.sshlscat id_rsa第二步:git代码仓库添加私钥进入到具体仓库下在最下面的settings里点击CI/CD,进入下图界面在此编辑即可,将上面的私钥内容粘贴到value里就好了...
2020-06-19 10:16:40 1667
原创 adb指令
adb rootadb shelladb shell getevent -ladb rebootadb remouteadb disable-verity
2020-06-17 11:26:55 205
原创 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 functionconsole.
2020-06-15 18:09:01 5392 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 1487
原创 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 3012
原创 meta标签
元数据(Metadata)是数据的数据信息。 标签提供了 HTML 文档的元数据。元数据不会显示在客户端,但是会被浏览器解析。META元素通常用于指定网页的描述,关键词,文件的最后修改时间,作者及其他元数据。元数据可以被使用浏览器(如何显示内容或重新加载页面),搜索引擎(关键词),或其他 Web 服务调用注意: 标签通常位于 区域内。meta 标签的属性:charset: character_set 定义文档的字符编码。content 定义与 http-equiv 或 name 属性相
2020-05-18 17:22:12 125
原创 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 945
原创 日期在一年所有时间中的排序
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 555
原创 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 1072
原创 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 301
原创 JavaScript中的可枚举属性与不可枚举属性
在JavaScript中,对象的属性分为可枚举和不可枚举之分,它们是由属性的enumerable值决定的。可枚举性决定了这个属性能否被for…in查找遍历到。一、怎么判断属性是否可枚举js中基本包装类型的原型属性是不可枚举的,如Object, Array, Number等,如果你写出这样的代码遍历其中的属性:var num = new Number();for(var pro in nu...
2020-04-29 10:53:31 132
原创 对称加密和非对称加密
对称加密: 加密和解密的秘钥使用的是同一个.非对称加密: 与对称加密算法不同,非对称加密算法需要两个密钥:公开密钥(publickey)和私有密钥(privatekey)。对称加密算法: 密钥较短,破译困难,除了数据加密标准(DES),另一个对称密钥加密系统是国际数据加密算法(IDEA),它比DES的加密性好,且对计算机性能要求也没有那么高.优点:算法公开、计算量小、加密速度快、加密效率高...
2020-04-29 10:13:41 207
原创 前端常见跨域解决方案
什么是跨域?跨域是指一个域下的文档或脚本试图去请求另一个域下的资源,这里跨域是广义的。广义的跨域:1.) 资源跳转: A链接、重定向、表单提交2.) 资源嵌入: 、什么是同源策略?同源策略/SOP(Same origin policy)是一种约定,由Netscape公司1995年引入浏览器,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,浏览器很容易受到XSS、CSFR等攻击。所...
2020-04-28 11:26:12 149
原创 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 1960
原创 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 2911
原创 字符串和数组常用方法
数组一行代码去重:new Set(arr)数组反转:reverse查找:indexOf(返回下标)、includes(返回布尔值)字符串拆分:split拼接:join替换:replace查找:indexOf
2020-04-26 18:13:55 154
原创 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 829
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人