什么是闭包

简单的说闭包就是函数里面的函数,《JavaScript高级程序设计》里是这样定义的

闭包是指有权访问另一个函数作用域中的变量的函数。

先看一道面试时经常被考的题目

  • 代码1:

<!DOCTYPE html><html lang="en"><head>
    <meta charset="UTF-8">
    <title>lzhTest</title></head><body><ul>
    <li>0</li>
    <li>1</li></ul><script>
    var lis = document.getElementsByTagName("li");
    for(var i = 0; i < lis.length; i++){
        lis[i].onclick = function(event){