为什么要用css预编译1.CSS不能递归定义2.解决复用性不够的问题3.可以缓解浏览器兼容导致的冗余cookie,sessionStorage和localStoragecookie的区别用于浏览SessionStorage和localStorage是用来存储本地数据的,localStorage是持久化存储。如何实现浏览器中多个标签页之间的通信?(阿里)websocket和shareWorker也可以调用localstorge、cookies等本地存储方式会有专门教程讲解websocket和websocket如何兼容低浏览器AdobeFlashSocket、ActiveXHTMLFile(IE)、基于multipart发送XHR编码,以及如何基于长轮询使用XHR将div1居中和水平居中。宽度div{width:200pxmargin:0auto}2.绝对定位居中div{position:absolute;width:300px;height:300px;margin:auto;top:0;left:0;bottom:0;right:0;}3。水平居中宽高div{position:relative;宽度:500px;高度:300px;顶部:50%;左:50%;margin:-150px00-250px;}不知道宽高div{position:relative;width:500px;height:300px;top:50%;left:50%;transform:translate(-50%,-50%);}使用flexlayout.container{display:flex;对齐项目:居中;证明内容:居中;}.containerdiv{宽度:100px;高度:100px;}css3新特性文字效果:text-shadow线性渐变:gradientrotation:transformroundedcorners:border-radiusnewselector:not(:input)没写全,但是用css穿三角的原理,顶左右隐藏就够了#demo{width:0;高度:0;边框宽度:20px;边框样式:实心;border-color:transparenttransparentredtransparent;}li之间经常有看不见的空格,原因是回车和空格会套用styles,解决方法:设置字符大小为font-size:0为什么clearfloatingclearfloating是清除浮动元素的影响,浮动元素的高度会塌陷,后续的布局将无法实现。这里有一个方法&:after元素浮动后,显示会变成什么?display:inline-block如果需要手动动画,你认为最小时间间隔是多长,为什么?大多数显示屏默认频率为60hz,所以理论上最小间隔为1/60*1000ms=16.7mscookie隔离cookie有域限制,跨周期提交请求时,不会携带cookie数组随机排序方式1.vararr=[1,2,3,4,5,7,8,9]functionrandSort(arr){for(vari=0,len=arr.length;i0){varrandomIndex=parseInt(Math.random()*arr.length)mixedArray.push(arr[randomIndex])arr.splice(randomIndex,1)}返回混合edArray}方法三vararr=[1,2,3,4,5,7,8,9]arr.sort(function(){returnMath.random()-0.5})什么是窗口对象,什么是adocument对象window是浏览器打开的窗口,document是Document对象的只读引用["1","2","3"].map(parseInt)答案是什么?[1,NaN,NaN]如何判断一个对象是否属于某个类Personnew操作符的returnainstance是干什么的1.创建一个空对象,this引用对象,也继承了函数的对象2.给this引用的对象添加属性和方法3.新创建的对象被this引用,最后隐式返回this。在Javascript中,有一个函数在执行过程中搜索对象时,永远不会搜索原型。这是什么功能?Oject.hasOwnProperty(name),返回一个布尔值,不会在原型链上寻找属性Howtodetectbrowserversionfunctiondetection,userAgentfeaturedetection:navigator.userAgentWhatispolyfillPolyfillis"JavaScriptthatreplicatesthestandardAPIonoldbrowsersSupplements”,它可以动态加载JavaScript代码或库以在不支持这些标准API的浏览器中模拟它们Object.is()Object.is在处理-0和+0时返回false,但是Object.is(NaN,NaN)返回true前端性能优化1.减少http请求数:sprite,js,css源码压缩,图片适当控制大小,CDN托管2.使用ajax代替整体刷新页面3.减少dom操作4.设置样式时多使用className代替style5.少用全局变量,缓存dom节点搜索结果6.避免使用css表达式7.图片的延迟加载(有专门的文章解释图片的延迟加载)HTTP状态码常用100Continue继续,一般发送post请求时,服务器会在httpheader后返回此信息已发送表示确认,然后发送具体参数信息200OK正常返回信息201Created请求成功,服务器创建了新资源202Accepted服务器已接受请求,但尚未处理301MovedPermanently的请求的网页已永久移动到新位置。302发现临时重定向。303SeeOther临时重定向,始终使用GET请求新的URI。304NotModified请求的页面自上次请求后未被修改。400BadRequest服务器无法理解请求的格式,客户端不应再次尝试发起相同内容的请求。401Unauthorized请求未被授权。403Forbidden禁止访问。404NotFound没有资源找到如何匹配URI。500InternalServerError最常见的服务器端错误。503ServiceUnavailable服务器暂时无法处理请求(可能是过载或维护)。我的githubhttps://github.com/skychenbo如果觉得对你有用请点个star