前言url请求过程中,浏览器会根据缓存机制保存请求的资源。当浏览器再次请求相同的url时,会根据header标识判断是否使用缓存。强缓存是浏览器本地缓存,根据缓存的cache-control和expires判断资源是否过期,未过期则不经过服务器请求,返回200。协商缓存根据Etag和Last-modified判断是否有数据更新,是则读取浏览器缓存,更新请求header并返回304;否则经过服务器请求,返回200,更新数据和请求header。 第一次请求: 第二次请求: 强缓存(本地缓存)1、 ...
事件机制之事件冒泡与事件捕获
|
|
javascript
前言dom事件流的三个阶段: 事件捕获阶段 capturing:从外到里进行事件传播,从根节点开始 目标阶段 事件冒泡阶段 bubbling:从里到外进行事件传播,直到根节点 触发dom事件时,先进行事件捕获 外->里,捕获到事件源之后通过事件传播,再进行事件冒泡 里 -> 外。 事件绑定 addEventListener(event, listener, userCapture)(ie11及以上,支持事件捕获) event: string listener: Function ...
编码转换函数与uri、url区别
|
|
web
javascript
encodeURI() 用于整个 URI 的编码,不会对本身属于 URI 的特殊字符进行编码,如冒号、正斜杠、问号和井号; 不会进行编码的字符:ASCII字母、数字、~!@#$&*()=:/,;?+’ 对应的解码函数 decodeURI() 类似escape(),但escape只针对字符串编码 encodeURIComponent() 用于对 URI 中的某一部分进行编码,会对它发现的任何非标准字符进行编码。 不会进行编码的字符:ASCII字母、数字、~!*()’ 对应的解码函数 de ...