前段时间我朋友从上家公司离职,上周开始了前端面试(现在已经上班了),一天我下班回到出租房时,他问我原型链是什么?一时半会我竟然也不知道从何说起能够让他很清楚的明白,又忽然想起之前我一个朋友也问过我闭包的问题,因此在这里记录解惑一下,下面我会以面试官和应聘者的口吻进行介绍理解......
一.闭包
面试官:什么是闭包?闭包你了解吗?
应聘者:闭包就是能够读取其他函数内部变量的函数。
面试官:通俗一点呢?
应聘者:通俗的讲就是函数a的内部函数b,被函数a外部的一个变量引用的时候,就创建了一个闭包。
面试官:是这样,没错,那你知道什么情况下会用到闭包吗?
应聘者:最常见的是函数封装的时候,再就是在使用定时器的时候,会经常用到...
面试官:那你简单写一个闭包吧
应聘者:
function a(){ var i=0; function b(){ alert(++i); } return b; } var c = a(); c();//外部的变量