闭包是什么?什么特性?对页面会有什么影响?
闭包可以理解成:定义在一个函数内部的函数,其中一个内部函数在包含他们的外部函数之外的被调用时就会形成 闭包
特点:
1.嵌套函数
2.函数内部可以引用外部参数的变量
3.参数和变量不会被垃圾回收机制回收
使用:
1.读取函数内部的变量
2.这些变量的值始终保存在内存中,不会在外层调用后自动清除
闭包的优点:
1.变量长期驻扎在内存中
2.避免全局变量的污染
3.私有成员的存在
缺点:
会造成内存泄漏
js中常见的内存泄漏:
1.意外的全局变量
2.被遗忘的计时器或回调函数
3.脱离dom的引用
事件委托是什么?如何确定事件源:
event.target 谁调用谁就是事件源
js高程上讲:事件委托就是利用事件冒泡,只制定一个时间处理程序,就可以管理某一类型的的所有事件
事件委托:
称事件代理,是js中很常用的绑定事件的技巧,事件委托就是吧原本需要绑定在子元素的响应事件委托给父元素, 让父元素担当事件监听的职务,事件委托的原理是dom元素的事件冒泡
\