学习js绕不开的就是“闭包”这个Javascript最强大的特性,哈哈,当然是之一。
首先,闭包指的是允许函数访问局部作用域之外的数据。
例如:
function assignEvents() {
var id = "1001";
document.getElementById("btn").onclick = function(event) {
saveDocument(id);
};
}
assignEvents()函数给一个DOM元素设置事件处理函数。这个事件处理函数就是一个闭包,它在assignEvents()执行时创建,并且能访问所属作用域的id变量。为了让这个闭包访问id,必须创建一个特定的作用域链。