闭包问题的题目

今天遇到一个题目,感觉这个题目有点东西,特发出来和大家分享。




    
    
    
    Document

 
    
  

最后的结果是1,4
因为形成了闭包,第一次实参1传进去后,计算机识别的是:
functionA(1){
A={};//计算机只识别等于号前面的,后面的不看
}
alert(a++);
输出1;
第二次A=function (b){
alert(a+b++);}覆盖了 function A(a){ } ;
因为A=function{}是一个匿名函数,是新的A函数它覆盖了前面的A函数 ,但是a的值却是
在原来a函数的作用域拿的,是a+2;因为a++了;所以a+b++就是4;
总结:这题主要考的的闭包;里面的函数外面执行就形成了闭包。
这个是我的博客地址:https://www.cnblogs.com/zhangchunjie/
感谢关注评论 !!!!!!

你可能感兴趣的:(JavaScript)