let a = 0, b = 0;
function A(a) {
// A不是私有变量,是全局中的变量
A = function(b) {
alert(a + b++);
}
aler(a++);
}
A(1);
A(2);
答案: ‘1’, ‘4’
初始化 a =0, b=0, A = 0x000000。
执行A(1)的时候A被重新赋值成 0x000001,是 function(b) {alert(a + b++); }的堆内存地址。
a = 1,1传进去形参a=1。alert(a++) = 1。然后 执行++, a变为2。
执行A(2) ,0x000001(2), 新参b=2,alert(a+ b++), alert(2+2++)为4。然后2++ 即 b为3。