摘要:前言 HTTP是无状态的协议,网络早期最大的问题之一是如何管理状态。服务器无法知道两个请求是否来自同一个浏览器。cookie应运而生,开始出现在各大网站,然而随着前端应用复杂度的提高,Cookie 也渐渐演化为了一个“存储多面手”,承载了 自身仅有的4KB 内存所不能承受的压力。在这样的背景下,we 阅读全文
posted @ 2020-07-08 00:12 川南烟雨 阅读(287) 评论(3) 推荐(2) 编辑
摘要:同源策略是一个重要的安全策略,它用于限制一个origin的文档或者它加载的脚本如何能与另一个源的资源进行交互。它能帮助阻隔恶意文档,减少可能被攻击的媒介。随着互联网的发展,"同源政策"越来越严格。目前,如果非同源,共有三种行为受到限制。(1) Cookie、LocalStorage 和 IndexDB 无法读取。(2) DOM 无法获得。(3) AJAX 请求不能发送。虽然这些限制是必要的,但是有时很不方便,合理的用途也受到影响,所以跨域是有必要的。 阅读全文
posted @ 2020-07-05 20:26 川南烟雨 阅读(85) 评论(0) 推荐(0) 编辑
摘要:最近零零碎碎看了许多关于this的文章,本着“好记性不如烂笔头”的思想,特在这里整理一下this有关的知识点。this是什么?this是JavaScript的一个关键字,this不是编写时绑定,而是运行时绑定。它依赖于函数调用的上下文条件。this绑定和函数声明的位置无关,反而和函数被调用的方式有关。 阅读全文
posted @ 2020-06-20 09:53 川南烟雨 阅读(147) 评论(0) 推荐(0) 编辑
摘要:抛掉事件循环的旧印象,记住,一次事件循环:先运行macroTask队列中的一个,然后运行microTask队列中的所有任务。接着开始下一次循环。 阅读全文
posted @ 2020-06-18 11:14 川南烟雨 阅读(219) 评论(0) 推荐(0) 编辑
摘要:本文主要是为了梳理JS垃圾回收机制所写,阐述了JS垃圾回收机制的原理以及标记无用变量的策略(引用计数和标记清除),希望也能给小伙伴带来帮助,梳理自己的知识体系。 阅读全文
posted @ 2020-06-17 22:19 川南烟雨 阅读(72) 评论(0) 推荐(0) 编辑
摘要:事件是将Javascript与网页联系在一起的主要方式。为了将JS事件进行梳理,本文一一阐述了事件冒泡,事件捕获,DOM事件流,循序渐进的将事件流这一脉络梳理;然后,将事件处理程序包括HTML事件处理程序、DOM0级事件处理程序、IE事件处理程序、DOM2级事件处理程序等一一列举,并给出了跨浏览器事件处理方案;最后,讲述了事件委托这一JS中常用技巧,并列举了使用这一技术的好处。希望在阅读本文后,读者对于JS事件有一个清晰的认知。 阅读全文
posted @ 2020-06-17 22:11 川南烟雨 阅读(36) 评论(0) 推荐(0) 编辑
摘要:本文对常见的src与href进行了梳理,给出了两者各自代表的含义与两者区别,从而引申出为何将css放在头部,而js放在body尾部的原因。通过本文,希望能给读者一些益处,谢谢阅读。 阅读全文
posted @ 2020-05-13 10:06 川南烟雨 阅读(36) 评论(0) 推荐(0) 编辑
摘要:本文从浮动设计初衷出发,讲述了浮动的特性,包括包裹性与破坏性;由于浮动给布局带来的影响,需要清理这种影响,故又给出了多种清理浮动的方法,并最终给出了最佳实践。同时,讲述清理浮动方法时,也给出了BFC与haslayout的部分知识,方便读者理解。 阅读全文
posted @ 2020-05-12 20:02 川南烟雨 阅读(209) 评论(0) 推荐(0) 编辑
摘要:在本文中,我们主要讲解3种定位机制之一的绝对定位,这就需要深入了解relative(相对定位),absolute(绝对定位)两种position属性值。 阅读全文
posted @ 2020-05-09 16:05 川南烟雨 阅读(309) 评论(0) 推荐(0) 编辑
摘要:盒模型是CSS的基石之一,它指定元素如何显示以及(在某种程度上)如何交互。页面上每一个元素都被看做一个矩形框,框由元素的内容,内边距 (padding),边框 (border)和外边距 (margin)组成。本文将讲解CSS盒子模型,包括margin,border,padding以及box-sizing的内容,让我们一起探讨CSS的奇妙之旅吧! 阅读全文
posted @ 2020-05-07 15:52 川南烟雨 阅读(382) 评论(0) 推荐(2) 编辑