当前位置: 首页 > Web前端 > HTML5

前端常用知识积累

时间:2023-04-05 01:06:14 HTML5

对闭包的理解闭包主要用于设计私有方法和变量。好处是可以避免全局变量的污染。缺点是闭包会常驻内存,会增加内存占用。使用不当很容易造成内存泄漏。低版本最多有20个cookie2。IE7及以后的版本最后可以有50个cookie。3.Firefox最多有50个cookie。4.Chrome和Safari没有硬性限制。第二:一个cookie的最大大小约为4096字节。为了兼容性,一般不能超过4095字节。优点:极高的可扩展性和可用性1.通过良好的编程来控制cookie中存储的session对象的大小。2、通过加密和安全传输技术(SSL),降低cookie被破解的可能性。3、cookie中只存放不敏感的数据,即使被盗也不会有什么大的损失。4.控制cookies的生命周期,使其不会永远有效。小偷很可能得到过期的cookie。缺点:1.`Cookie`的数量和长度有限制。每个域最多只能有20个cookie,每个cookie的长度不能超过4KB,否则会被截断。2.安全问题。如果cookie被某人拦截,则该人可以获得所有会话信息。即使加密也无济于事,因为拦截器不需要知道cookie的含义,他只要按原样转发cookie就可以达到目的。3.部分状态无法在客户端保存。例如,为了防止重复提交表单,我们需要在服务器端保留一个计数器。如果我们将这个计数器存储在客户端,它不会做任何事情。浏览器的本地存储sessionStorage在本地存储一个会话(session)中的数据,只能被同一个会话中的页面访问,并在会话结束时销毁。因此,sessionStorage并不是一种持久化的本地存储,而只是一种会话级别的存储。localStorage用于持久本地存储。除非主动删除数据,否则数据永远不会过期。Web存储和cookie之间的区别受cookie大小的影响。限制,每次请求新页面都会发送cookies,无形中浪费了带宽。此外,cookies还需要指定一个范围。无法跨域调用cookies。前端开发者需要自己封装setCookie和getCookielink。与@import的区别在于(1)链接属于HTML标签,而@import是由CSS提供的;(2)页面加载时,链接会同时加载,而@import引用的CSS会等到页面加载完毕再加载;(3)import只能被IE5及以上识别,link是HTML标签,不存在兼容性问题;(4)链接样式的权重高于@import。box-sizing属性box-sizing属性主要用来控制元素的盒子模型的解析模式。默认值为content-boxcontent-box:让元素保持W3C标准盒模型。元素的宽/高由border+padding+content的宽/高决定。设置width/height属性是指content部分的width/height。怪癖模式)。设置width/height属性是指border+padding+content。BFC规范的理解是从链接描述级别格式化上下文中获取的。它是CSS中的一种渲染机制。BFC相当于一个盒子,内部元素和外部元素互不干扰。不会影响外部布局,外部布局不会影响。创建BFCfloat的值不是noneposition,值不是static或者relativedisplay的值是inline-block,table-cell,flex,table-caption或者inline-flexoverflowvisibleBFC的值不是visibleBFC的特性——内层BOX会在垂直方向上一个接一个地放置——同一个BFC中相邻两个BOX的边距会重叠,与方向无关。-每个元素的左边距触及包含块的左边界(从左到右),即使是浮动元素-BFC的区域不与浮动的元素区域重叠-在计算BFC的高度时,浮动的子元素也参与在计算中——BFC是页面上一个隔离的独立容器,容器里面的子元素不会影响外面的元素,反之亦然。BFC在布局中的应用防止边距重叠:为了防止边距重叠,只需要将两个Element放在一个BFC中即可浮动。相关问题使父元素包含子元素。常见的方式是为父元素设置overflow:hidden或者float父元素。根本原因是在创建BFC元素时,子浮动元素也会参与其高度计算,即不会出现高度塌陷问题。多列布局的一种方式是生成的与浮动元素相邻的BFC元素不能与浮动元素重叠。使用此功能可以用作多列布局的实现。特点是左右栏的宽度是固定的,中间的栏可以根据浏览器的宽度适配null和undefined的区别。当值为NaN时,变量被声明,但没有赋值时等于undefined。函数调用时,应该提供的参数没有提供。默认返回undefinednull。Null是表示“无”的对象。转换为值时,作为函数的参数为??0,说明函数的参数不是对象。document.write和innerHTML的区别在于对象原型链的末端。整个页面的innerHTML可以重绘页面的一部分HTML5的离线存储原理HTML5的离线存储是基于一个新的.它像cookie一样存储。之后当网络离线时,浏览器会通过离线存储的数据来显示页面。在文档中使用html标签设置manifest属性,如manifest="/offline.appcache"在项目中新建manifest文件,manifest文件命名建议:xxx.appcache配置正确的MIME-typeonweb服务器,即text/cache-manifestcss,各种居中,水平居中,inline-block和text-align.parent{text-align:center;}.child{display:inline-block;}tablewithmargin.child{显示:表格;margin:0auto;}abasolutewithtransform.parent{position:relative;}.child{position:absolute;左:50%;transform:translateX(-50%);}使用vertical-align.parent垂直居中表格单元格{display:table-cell;vertical-align:middle;}absolutewithtranform.parent{position:relative;}.child{position:absolute;顶部:50%;transform:translateY(-50%);}Horizo??ntal+verticalcenteringinline-blockwithtext-alignplustable-cellwithvertical-align.parent{display:table-cell;垂直对齐:中间;text-align:center;}.child{display:inline-block;}absolutewithtransform.parent{position:relative;}.child{position:absolute;左:50%;吨操作:50%;transform:translate(-50%,-50%);}Almightyflexhorizo??ntallycentered.parent{display:flex;证明内容:居中;}垂直居中。父{显示:flex;align-items:center;}水平和垂直center.parent{display:flex;证明内容:居中;对齐项目:居中;}