闭包特点
-
外部具有指向内部的引用
-
在外部作用域访问内部作用域的数据
function foo () { var name = 'leo'; function fn () { console.log(name) } return fn } var a = foo() a()
关于闭包
-
闭包是一种强大的语法
-
闭包使用不当很容易出现内存泄漏
-
不要为了闭包而闭包
<html> <body> <button id="btn"> Add </btton> <script> function foo () { var el = document.getElementById('btn') el.onClick = function () { console.log(el.id) } el = null // 避免闭包陷阱 } foo() </script> </body> </html>