摘要:
提升页面性能的方法大致可归纳为以下几种:1.资源压缩合并,减少HTTP请求 2.浏览器缓存 3.非核心代码异步加载 4.CDN加速 5.DNS预解析 一、浏览器缓存: 缓存分类:1)强缓存 2)协商缓存 强缓存:在缓存时间未失效前,不会询问服务器,直接加载本地缓存资源,相关的HTTP头: Expir 阅读全文
2018年7月17日
2018年7月16日
摘要:
之前写了篇文章 JS运行机制,里面对event loop简单的说明,面试时又遇到了关于该知识点的题目(主要是process.nextTick和setImmediate的执行顺序不太知道,查了之后才知道是关于Node JS的event loop)看了阮一峰老师的博客,又有了更深入的理解: JS中的任务 阅读全文
2018年7月14日
摘要:
双向链表中链接是双向的:一个链向下一个元素,另一个链向上一个元素,如下图所示: 双向链表结构代码如下: 参考:《JavaScript数据结构与算法--第二版》 阅读全文
2018年7月13日
摘要:
链表结构:链表中每个元素由一个存储元素本身的节点和一个指向下一元素的引用组成。如下所示(手画的,比较丑,懒得用工具画了,嘻嘻) 1.append方法,向链表末尾插入一个节点 2.insert(position,element),向指定位置插入一个节点 3.removeAt(position)移除某个 阅读全文
2018年7月11日
2018年7月10日
2018年7月9日
摘要:
队列是遵循先进先出的一种数据结构,在尾部添加新元素,并从顶部移除元素。 1.普通队列 2.优先队列:元素的添加基于优先级 3.循环队列(击鼓传花模拟) 参考:《学习JavaScript数据结构与算法(第二版)》 阅读全文
摘要:
最近在看《学习JavaScript数据结构与算法》这本书,感觉自己又涨知识了 哈哈... 现在将自己看的做个总结,也是巩固理解。 栈:先进后出,新添加和待删除的元素都保存在栈顶。可以用数组的push方法入栈,pop出栈。 栈的实际应用:二进制转十进制、十进制转换任意进制(二进制、八进制、十六进制); 阅读全文
2018年7月8日
摘要:
CSRF:跨站请求伪造。 攻击原理:一个用户登陆了可信的网站A,身份验证后A会下发一个cookie;此时用户又打开了另一个危险网站B,B引诱用户点击连接(该链接会访问A的接口),由于此时会携带cookie,网站A认为这个请求是合法的,就执行了该请求。 防范措施: 1.接口增加token 2.refe 阅读全文