什么是闭包,堆栈溢出有什么区别?内存泄漏是什么?那些操作会造成内存泄漏?怎样防止内存泄漏?什么是事件流,事件捕获

闭包

就是能够读取其他函数内部变量的函数( 在一个函数内部定义了一个新的函数,在执行的时候将这个函数返回 )

堆栈溢出有什么区别?

就是不顾堆栈中分配的局部数据块大小,继续该数据块写入数据,导致数据的越界,并且覆盖了其他数据.经常在归递中产生 

内存泄漏是什么?

内存泄漏就是,用动态储存分配函数内部空间,并且在使用完毕以后未释放,一直占据该内存单元,直到程序结束,也就是指,任何对象当在不需要使用或者拥有的时候,任然一直存在.

那些操作会造成内存泄漏?

①setTimeout的第一个参数使用字符串而非函数的情况下.就会引起内存泄漏.②闭包控制台日志的循环

防止内存泄漏:

①不要动态绑定事件②不要在动态添加或者会被动态移除的dom树上绑定事件,用事件冒泡在父容器上监听事件.③单例化,少创建dom,少绑定事件

事件冒泡:事件冒泡就是事件开始由一个具体的元素接受,然后逐级向上传递,一直传递到一个不具体的节点,在html中就是,当一个元素产生了一个事件以后,就会传给他的父元素,然后父元素在逐级向上传递一直到document对象

事件流

从页面接受事件的顺序,也就是当一个事件产生时,他的传播过程就是事件流

事件捕获

事件捕获就是不太具体的元素应该更早的接受到事件,而具体的元素应该最后接收到事件,用意是在事件到达目标之前捕获他,也就是跟冒泡正好相反。

你可能感兴趣的:(什么是闭包,堆栈溢出有什么区别?内存泄漏是什么?那些操作会造成内存泄漏?怎样防止内存泄漏?什么是事件流,事件捕获)