闭包
定义
闭包是指有权访问另一个函数作用域中的变量的函数
作用
- 实现公用变量,初始化数据
- 可以做缓存
- 可以实现缓存,属性私有化
- 模块化开发,防止污染全局变量
描述一下渐进增强和优雅降级之间的不同
渐进增强:使用所有浏览器都支持的基本功能开发。逐步添加无害于低版本浏览器的额外样式和功能
优雅降级: 使用标准浏览器提供的新功能开发。针对低版本ie增加候选方案,使页面降低体验却不至于完全失效
线程和进程的区别
一个程序至少有一个进程,一个进程至少有一个线程,进程在执行过程中拥有独立的内存单元,而多个线程共享内存
谈谈对语义化的理解
- 去掉或样式丢失的时候能让页面呈现清晰的结构
- 有利于seo,通过标签确定上下文和各个关键字的权重
- 便于团队开发和维护,语义化更具可读性
如何对网站文件和资源进行优化
- 文件合并
- 文件压缩
-使用cdn托管
减少页面加载时间的方法
- 优化图片(图片压缩,选择合适的图片格式,标明宽高)
- 优化css
- 减少http请求
- 网址后加斜杠
什么是fouc,如何避免
定义: 由于css引入使用了@import或者存在多个style标签及css文件在页面底部引用。使得css文件加载在html之后,导致页面闪烁、滑屏
解决方案:用link加载css文件,放在head标签里面
doctype(文档类型)的作用是什么,有多少种文档类型?
告知浏览器使用哪种html或xml规范。该标签可声明三种类型,分别表示严格版本、过渡版本以及基于框架的html文档
data- 属性的作用
用于存储页面或应用程序的私有自定义数据。存储的数据能够被页面的js利用,已创建更好的用户体验
如果把html5看做一个开放的平台,它的构件模块有哪些?
nav,header,section,footer,article
cookies,sessionStorage,localStorage的区别?
cookies用于存储小数据,它的大小限制为4kb左右,主要用于保存登录信息,sessionStorage和localStorage用于本地数据的存储,但是保存数据的生命周期不同,sessionStorage会在浏览器关闭之后清空数据,localStorage需要手动清空
reset css 的作用和好处
因为浏览器品种很多,每个浏览器的默认样式也是不同的,所以定义一个css reset 可以使各浏览器的默认样式统一