一、内存泄漏?
定义:申请到的一块内存既不能被使用,也不能被回收,直到浏览器进程结束。
哪些常见的内存泄漏?
1.意外的全局变量
一个函数体内的变量没有使用var或let关键字进行声明,此时这个变量将变为全局变量。
解决办法:使用严格模式 use strict。
2.被遗忘的计时器或者回调函数的timer
定时器setInterval或者setTimeout使用之后没有clear掉,定时器的回调函数及其内部依赖的变量会无法释放,造成内存泄漏。
解决办法:使用完之后调用相应的clearInterval或者clearTimeout进行清除。
3.基础的DOM泄漏
原有的DOM结点被清除时,它的引用没有清除导致的内存泄漏。
解决办法:将它的引用也清除(设为null)
4.使用不当的闭包
由于闭包的特性,使用不当会造成内存泄漏。
解决办法:闭包函数使用过后,将不适应的局部变量删除。
5.控制台输出consle.log
解决办法:清除控制台打印
二、块级格式化上下文
定义:BFC是一个独立的盒子,盒子内的元素不会影响盒子外元素的布局。
设置方法:浮动或者绝对定位、display为inline-blocks | table-cells | table-captions、overflow不是visible,而是其他值。
应用:自定义的两栏、三栏布局、解决父盒子高度塌陷问题。
三、语义化标签
定义:语义化标签就是一种我们仅通过标签名就能判断出该标签内容的语义的标签。
作用:有良好的结构和语义,网页内容容易被搜索引擎抓取,有利于SEO;可维护性更高,结构清晰,易于阅读。
标签:块级,泄漏,格式化,解决办法,标签,语义,内存,清除,上下文 From: https://www.cnblogs.com/jackdongdong/p/16993384.html