2018年7月17日

摘要: 提升页面性能的方法大致可归纳为以下几种:1.资源压缩合并,减少HTTP请求 2.浏览器缓存 3.非核心代码异步加载 4.CDN加速 5.DNS预解析 一、浏览器缓存: 缓存分类:1)强缓存 2)协商缓存 强缓存:在缓存时间未失效前,不会询问服务器,直接加载本地缓存资源,相关的HTTP头: Expir 阅读全文
posted @ 2018-07-17 16:55 静谧coding 阅读(227) 评论(0) 推荐(0) 编辑

2018年7月16日

摘要: 之前写了篇文章 JS运行机制,里面对event loop简单的说明,面试时又遇到了关于该知识点的题目(主要是process.nextTick和setImmediate的执行顺序不太知道,查了之后才知道是关于Node JS的event loop)看了阮一峰老师的博客,又有了更深入的理解: JS中的任务 阅读全文
posted @ 2018-07-16 15:32 静谧coding 阅读(295) 评论(0) 推荐(0) 编辑

2018年7月14日

摘要: 双向链表中链接是双向的:一个链向下一个元素,另一个链向上一个元素,如下图所示: 双向链表结构代码如下: 参考:《JavaScript数据结构与算法--第二版》 阅读全文
posted @ 2018-07-14 15:50 静谧coding 阅读(184) 评论(0) 推荐(0) 编辑

2018年7月13日

摘要: 链表结构:链表中每个元素由一个存储元素本身的节点和一个指向下一元素的引用组成。如下所示(手画的,比较丑,懒得用工具画了,嘻嘻) 1.append方法,向链表末尾插入一个节点 2.insert(position,element),向指定位置插入一个节点 3.removeAt(position)移除某个 阅读全文
posted @ 2018-07-13 10:28 静谧coding 阅读(315) 评论(0) 推荐(0) 编辑

2018年7月11日

摘要: 去除数组中的重复元素 思路主要是遍历,然后去重 上述代码可进行简化 也可以使用ES6中的Set,Set 对象允许你存储任何类型的唯一值,无论是原始值或者是对象引用 关于Set的用法 https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Ref 阅读全文
posted @ 2018-07-11 21:10 静谧coding 阅读(201) 评论(0) 推荐(0) 编辑

2018年7月10日

摘要: JS是单线程的,因此同一时间只能干一件事。 任务队列中包含同步任务和异步任务,异步任务要挂起;同步任务执行完才会去执行异步任务 Event Loop事件循环:运行栈运行的是同步任务。浏览器识别了事件是一个异步任务,就不会把它放在运行栈里,而是拿走。拿走了之后也不是立马放在异步队列中,而是当同步任务执 阅读全文
posted @ 2018-07-10 17:31 静谧coding 阅读(374) 评论(0) 推荐(0) 编辑

2018年7月9日

摘要: 队列是遵循先进先出的一种数据结构,在尾部添加新元素,并从顶部移除元素。 1.普通队列 2.优先队列:元素的添加基于优先级 3.循环队列(击鼓传花模拟) 参考:《学习JavaScript数据结构与算法(第二版)》 阅读全文
posted @ 2018-07-09 21:26 静谧coding 阅读(155) 评论(0) 推荐(0) 编辑
 
摘要: 最近在看《学习JavaScript数据结构与算法》这本书,感觉自己又涨知识了 哈哈... 现在将自己看的做个总结,也是巩固理解。 栈:先进后出,新添加和待删除的元素都保存在栈顶。可以用数组的push方法入栈,pop出栈。 栈的实际应用:二进制转十进制、十进制转换任意进制(二进制、八进制、十六进制); 阅读全文
posted @ 2018-07-09 16:21 静谧coding 阅读(792) 评论(0) 推荐(0) 编辑

2018年7月8日

摘要: CSRF:跨站请求伪造。 攻击原理:一个用户登陆了可信的网站A,身份验证后A会下发一个cookie;此时用户又打开了另一个危险网站B,B引诱用户点击连接(该链接会访问A的接口),由于此时会携带cookie,网站A认为这个请求是合法的,就执行了该请求。 防范措施: 1.接口增加token 2.refe 阅读全文
posted @ 2018-07-08 20:27 静谧coding 阅读(125) 评论(0) 推荐(0) 编辑

2018年7月7日

摘要: 同源是指“协议”、“端口”、“域名”均相同,如果其中有一个不同,就会导致跨域。 非同源的话,以下的行为会被限制 (1) Cookie、LocalStorage 和 IndexDB 无法读取。 (2) DOM 无法获得。 (3) AJAX 请求不能发送。 有时我们想打破这些限制,就需要进行跨域通信,常 阅读全文
posted @ 2018-07-07 22:05 静谧coding 阅读(1157) 评论(0) 推荐(0) 编辑