撩课-Web大前端每天5道面试题-Day1
2018-11-26 07:59:32来源:博客园 阅读 ()
1. var的变量提升的底层原理是什么?
JS引擎的工作方式是: 1) 先解析代码,获取所有被声明的变量; 2)然后在运行。也就是说分为预处理和执行两个阶段。 变量提升:所有变量的声明语句都会被提升到代码头部。 但是变量提升只对var命令声明的变量有效,如果一个变量不是用var命令声明的,就不会发生变量提升。
2. JS如何计算浏览器的渲染时间?
撩课小编: 浏览器的渲染过程主要包括以下几步:
1) 解析HTML生成DOM树。
2) 解析CSS生成CSSOM规则树。
3) 将DOM树与CSSOM规则树合并在一起生成渲染树。
4) 遍历渲染树开始布局,计算每个节点的位置大小信息。
5) 将渲染树每个节点绘制到屏幕。
优化考虑:
CSS 优先:引入顺序上,CSS 资源先于 JavaScript 资源。
JS置后:通常把JS代码放到页面底部,且JavaScript 应尽量少影响 DOM 的构建。
3. JS的回收机制?
撩课小编: 垃圾回收机制是为了以防内存泄漏,(内存泄漏: 当已经不需要某块内存时这块内存还存在着), 垃圾回收机制就是间歇的不定期的寻找到不再使用的变量,并释放掉它们所指向的内存。
JS有两种变量: 全局变量和在函数中产生的局部变量。局部变量的生命周期在函数执行过后就结束了,此时便可将它引用的内存释放(即垃圾回收),但全局变量生命周期会持续到浏览器关闭页面。
JS执行环境中的垃圾回收器有两种方式:标记清除(mark and sweep)、引用计数(reference counting)。
标记清除: 垃圾收集器给内存中的所有变量都加上标记,然后去掉环境中的变量以及被环境中的变量引用的变量的标记。
在此之后再被加上的标记的变量即为需要回收的变量,因为环境中的变量已经无法访问到这些变量。
引用计数(reference counting): 这种方式常常会引起内存泄漏,低版本的IE使用这种方式。
机制就是跟踪一个值的引用次数,当声明一个变量并将一个引用类型赋值给该变量时该值引用次数加1,
当这个变量指向其他一个时该值的引用次数便减一。
当该值引用次数为0时就会被回收。
4. 垂直水平居中的方式?
撩课小编: 方式一: 定位 父元素设置为:position: relative; 子元素设置为:position: absolute; 距上50%,据左50%,然后减去元素自身宽度的距离就可以实现 width: 100px; height: 100px; position: absolute; left: 50%; top: 50%; margin: -50px 0 0 -50px; 方式二: flex布局 display: flex; //flex布局 justify-content: center; //使子项目水平居中 align-items: center; //使子项目垂直居中 方式三: table-cell (不推荐) display: table-cell; vertical-align: middle;//使子元素垂直居中 text-align: center;//使子元素水平居中
5. 实现一个三栏布局,中间版块自适应方法有哪些?
撩课小编: 浮动和定位 浮动方式: <div class="content"> <div class="left">left</div> <div class="right">right</div> <div class="center">center</div> </div> .left{ float: left; width: 100px; height: 200px; } .right{ float: right; padding: 0; width: 100px; height: 200px; } .center{ margin: 0 100px 0 200px; } 方式二: 将父容器的position设置为relative,两个边栏的position设置成absolute。
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- 循序渐进VUE+Element 前端应用开发(5)--- 表格列表页面的查 2020-07-15
- 循序渐进VUE+Element 前端应用开发(5)--- 表格列表页面的查 2020-07-15
- 循序渐进VUE+Element 前端应用开发(5)--- 表格列表页面的查 2020-07-14
- 循序渐进VUE+Element 前端应用开发(5)--- 表格列表页面的查 2020-07-13
- 循序渐进VUE+Element 前端应用开发(5)--- 表格列表页面的查 2020-07-02
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash