示例代码:
<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++)};