- <span style="font-size:18px;">function hi(){
- var a = 1;
- return function(){
- console.log(a++);
- };
- };
- var aaa = hi();
- var bbb = hi;
- </span>
如以上代码:
aaa
是将 hi()
的运行结果赋值给它,即 return
返回的匿名函数,此时有一个闭包,则每次调用 aaa
时都访问的同一个 a
,aaa()
第一次运行结果为 1
,第二次为2
而 bbb
将是将 hi
这个函数名赋值给它,则调用 bbb()
后返回一个函数表达式,即function(){console.log(a++)};