前言
闭包对于初学者而言一直是一个不太好理解的概念。最近在学习javascript的时候碰巧看到了关于这方面的讲解,自己才明白了许多,所以把它写出来分享给大家。当然,本文也是参考了很多blog和书籍,加上自己的理解写出来的,文章末尾会附上对应的参考文档。
基础知识
//javascript的变量作用域可以分为两种:全局变量和局部变量。 //在函数内声明的变量就是局部变量,这个变量在函数体内可访问,在函数外部无法直接读取局部变量。 //例如: var globalVariable = 1; //全局变量 function f() { var localVariable = 100; //局部变量 注意函数内的变量一定要加上关键字var才能成为局部变量,不然就会成为全局变量 } alert(globalVariable); //显示1 alert(localVariable); //抛出错误 提示localVariable未声明