
js
东东养猫
这个作者很懒,什么都没留下…
展开
-
subtree的用法
主应用与子应用的git的分割方法:subtree的用法.原创 2021-08-09 14:52:52 · 396 阅读 · 0 评论 -
百度地图经纬度获取标点与城市编码
1.获取城市codetype接口<!DOCTYPE html><html lang="en"><head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta name="viewport" content="initial-scale=1.0, user-scalable=no" /> <script type="text/原创 2020-08-04 20:35:35 · 2604 阅读 · 0 评论 -
柯里化函数
//柯里化//第一种function curry(fn){ const g=(...allAges)=>allAges.length>=fn.length? fn(...allAges):(...arg)=>g(...allAges,...arg) return g}let foo=curry((x,y,z)=>{ return x+y+z})console.log(foo(1)(2)(3),"foo")//第二州function cu原创 2020-07-14 21:13:06 · 124 阅读 · 0 评论 -
js实现斐波那契数列 0 1 1 2 3 5 8 13 21 34 。。。
let arr=[0,1,1]function test(n){ if(n<3){ return arr[n] } if(arr[n]!==undefined){ return arr[n] } let data= test(n-1)+test(n-2 )//如果没有return data的话是娶不到值的 arr[n]=data return data} test(6)console.log(arr,"text"原创 2020-07-14 19:42:02 · 637 阅读 · 0 评论 -
防抖与截流总结
//防抖 是指在事件触发结束后延时一段时间再去执行代码,如果在延时期间再次触发该事件,则重新计算延时时间//第一个参数为事件触发后需要执行的方法,第二个参数为延时时间function debounce(method, delay) {function debounce(method, delay) { let timer = null; return function () { //this 指向调用的他的函数 arguments是调用它的一下属性参数原创 2020-07-14 17:43:41 · 2778 阅读 · 0 评论 -
HTTP常见状态码(404、400、500)等错误
一些常见的状态码为:200 - 服务器成功返回网页404 - 请求的网页不存在503 - 服务不可用==1xx(临时响应) ==表示临时响应并需要请求者继续执行操作的状态代码代码 说明100 (继续) 请求者应当继续提出请求。服务器返回此代码表示已收到请求的第一部分,正在等待其余部分。101 (切换协议) 请求者已要求服务器切换协议,服务器已确认并准备切换2xx (成功)表示成功处理了请求的状态代码代码 说明200 (成功) 服务器已成功处理了请求。通常,这表示服务器提供了请求的网页原创 2020-06-30 15:15:58 · 195 阅读 · 0 评论 -
正则表达式的进阶
link原创 2020-06-28 15:51:09 · 116 阅读 · 0 评论 -
try catch与promise 的错误异常的问题
try/catch无法捕获promise.reject的问题function f2() { try { Promise.reject('出错了'); } catch(e) { console.log(e) }}f2() //Uncaught (in promise)原因是try 里面不能写异步代码解决1.用async aweitasync function f() { try { await Promise.reject('出错了') } ca原创 2020-06-23 16:17:49 · 3455 阅读 · 0 评论 -
js 手写缓存方法,可以设置过期时间
下面的例子是采用uniapp的接口写的,== 如果是h5可以把uni.getStorageSync换成localStorage.getitem 和localStorage.setitem== /** cache( ) 参数key值 value值 seconds设置时间*/function cache(key, value, seconds) { var timestamp = Date.parse(new Date()) / 1000 if (key && val原创 2020-06-17 16:03:45 · 949 阅读 · 0 评论 -
计算机缓存的理解与总结(一)
1.简介缓存-称为CASH-是用于在计算环境中临时存储某些东西(通常是数据)的硬件或软件少量更快,更昂贵的内存用于提高临时访问存储在缓存客户端本地且与大容量存储分开的快速访问存储介质中的最近访问或经常访问的数据的性能。缓存通常由缓存客户端使用,例如CPU,应用程序,Web浏览器或操作系统(OS)使用缓存是因为大容量或主存储无法满足缓存客户端的需求。 缓存缩短了数据访问时间,减少了延迟,并改善了输入/输出(I / O)。因为几乎所有应用程序工作负载都依赖于I / O操作,所以缓存可以提高原创 2020-05-28 15:51:22 · 718 阅读 · 0 评论 -
让我们再聊聊浏览器资源加载优化
1.简介几乎每一个前端程序员都知道应该把 script 标签放在页面底部。关于这个经典的论述可以追溯到 Nicholas 的 High Performance Javasript 这本书的第一章 Loading and Execution 中,他之所以建议这么做是因为简而言之,如果浏览器加载并执行脚本,会引起页面的渲染被暂停,甚至还会阻塞其他资源 (比如图片) 的加载。为了更快的给用户呈现网页内容,更好的用户体验,应该把脚本放在页面底部,使之最后加载。我们经常谈论的一些页面优化技巧,比如上面所说的总是原创 2020-05-27 16:22:06 · 554 阅读 · 0 评论 -
网络协议 osi与tcp/ip总结
一、概述网络协议设计者不应当设计一个单一、巨大的协议来为所有形式的通信规定完整的细节,而应把通信问题划分成多个小问题,然后为每一个小问题设计一个单独的协议。这样做使得每个协议的设计、分析、时限和测试比较容易。协议划分的一个主要原则是确保目标系统有效且效率高。为了提高效率,每个协议只应该注意没有被其他协议处理过的那部分通信问题;为了主协议的实现更加有效,协议之间应该能够共享特定的数据结构;同时这些协议的组合应该能处理所有可能的硬件错误以及其它异常情况。为了保证这些协议工作的协同性,应当将协议设计和开发成完整原创 2020-05-26 17:35:21 · 611 阅读 · 0 评论 -
浏览器输入URL到网页完全呈现的过程
简单总结1.查看缓存(浏览器缓存,系统缓存,路由器缓存),如果有直接访问2.如果没有,DNS服务器进行域名解析,解析成ip地址3.通过ip地址找到服务器,进行TCP链接,完成三次握手4.浏览器像服务器发送http请求5.服务器响应,将响应报文通过TCP发送回浏览器6.对响应进行解码,根据资源类型决定如何处理7.如果是HTML文档,则构建DOM树,下载CSS,JS资源,构建渲染树,布局,绘制8.断开连接:TCP四次挥手详细介绍DNS解析什么是URL在讲解DNS解析前,先简单介绍下URL原创 2020-05-25 16:52:57 · 268 阅读 · 0 评论 -
js 日期时间格式化
将日期时间转换为指定格式,如:YYYY-mm-dd HH:MM表示2019-06-06 19:45function dateFormat(fmt, date) { let ret; const opt = { "Y+": date.getFullYear().toString(), // 年 "m+": (date.getMonth() + 1).toString(), // 月 "d+": date.getDate()原创 2020-05-22 16:23:27 · 126 阅读 · 0 评论 -
ES6-字符串扩展-padStart(),padEnd()
ES6 引入了字符串补全长度的功能,如果某个字符串不够指定长度,会在头部活尾部补全。padStart() 用于头部补全;padEnd() 用于尾部补全‘x’.padStart(5, ‘ab’) // ‘ababx’‘x’.padStart(4, ‘ab’) // ‘abax’‘x’.padEnd(5, ‘ab’) // ‘xabab’‘x’.padEnd(4, ‘ab’) // ‘xaba’上面代码中,padStart 和 padEnd 一共接受2个参数,第一个是用来指定字符串的最小长度,原创 2020-05-22 16:08:21 · 141 阅读 · 0 评论