CSS
盒子模型(w3c、IE)
规定了元素框处理元素内容、内边距、边框和外边距的方式
ie的盒模型中,width指的是内容,内边距,和边框的宽度总和(没有外边距)
外边距重叠的处理方法:
外层元素padding代替
内层元素透明边框 border:1px solid transparent;
内层元素绝对定位 postion:absolute:
外层元素 overflow:hidden;
内层元素 加float:left;或display:inline-block;
内层元素padding:1px;
VUE
vue的双向绑定
vue2.0中使用对象的defineProperty属性监听setter,getter操作,作出相应处理
vue3.0中使用对象的proxy属性
computed & watch
'computed':
计算属性顾名思义就是通过其他变量计算得来的另一个属性。比如
sum () {
return a + b
}
sum依赖于 a 和 b,当 a || b 发生变化是,sum改变;
'watch':
watch: {
sum : function() {
//do something
}
}
监听sum的变化作出相应的处理
未声明属性值不具有响应式
在data(){}中声明;或者使用this.$set() //this.$set(this.obj, 'b', 'obj.b')
如何优化SPA应用的首屏加载速度慢的问题?
1.将公用的JS库通过script标签外部引入,减小 app.bundel 的大小,让浏览器并行下载资源文件,提高下载速度;
2.在配置 路由时,页面和组件使用懒加载的方式引入,进一步缩小 app.bundel 的体积,在调用某个组件时再加载对应的js文件;
3.加一个首屏loading图,提升用户体验;
前端如何优化网站性能?
在浏览器与服务器进行通信时,主要是通过 HTTP 进行通信。浏览器与服务器需要经过三次握手,每次握手需要花费大量时间。而且不同浏览器对资源文件并发请求数量有限(不同浏览器允许并发数),一旦 HTTP 请求数量达到一定数量,资源请求就存在等待状态,这是很致命的,因此减少 HTTP 的请求数量可以很大程度上对网站性能进行优化。
CSS Sprites
国内俗称CSS精灵,这是将多张图片合并成一张图片达到减少HTTP请求的一种解决方案,可以通过CSS的background属性来访问图片内容。这种方案同时还可以减少图片总字节数。
合并 CSS 和 JS 文件
现在前端有很多工程化打包工具,如:grunt、gulp、webpack等。为了减少 HTTP 请求数量,可以通过这些工具再发布前将多个CSS或者多个JS合并成一个文件。
采用 lazyLoad
俗称懒加载,可以控制网页上的内容在一开始无需加载,不需要发请求,等到用户操作真正需要的时候立即加载出内容。这样就控制了网页资源一次性请求数量。
图标使用 IconFont 替换
网页从输入网址到渲染完成经历了哪些过程?
大致可以分为如下7步:
输入网址;
发送到DNS服务器,并获取域名对应的web服务器对应的ip地址;
与web服务器建立TCP连接;
浏览器向web服务器发送http请求;
web服务器响应请求,并返回指定url的数据(或错误信息,或重定向的新的url地址);
浏览器下载web服务器返回的数据及解析html源文件;
生成DOM树,解析css和js,渲染页面,直至显示完成;
网友评论