js题讲解(3)

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.

猜你喜欢

转载自blog.csdn.net/weixin_47459930/article/details/106844263