var bb = 1;
function aa(bb) {
bb = 2;
alert(bb);
};
aa(bb);
alert(bb);
这个函数会输出2,1
因为在这个立即执行函数中由于是bb=2,这个就会是全局的,又因为在立即执行函数中有参数,所以说在在立即执行函数中会相当于是var bb = 2。所以会在立即执行函数中执行出来的是2,又因为这是一个立即执行函数所以说在输完bb之后就被销毁了,所以说在外部的alert(bb)就睡输出的是1.
var bb = 1;
function aa(bb) {
bb = 2;
alert(bb);
};
aa(bb);
alert(bb);
这个函数会输出2,1
因为在这个立即执行函数中由于是bb=2,这个就会是全局的,又因为在立即执行函数中有参数,所以说在在立即执行函数中会相当于是var bb = 2。所以会在立即执行函数中执行出来的是2,又因为这是一个立即执行函数所以说在输完bb之后就被销毁了,所以说在外部的alert(bb)就睡输出的是1.