我发现了一段我无法理解的代码片段。如果有人能带我通过它,那就太好了。下面是代码,我将在下面添加我的尝试
main()
function main()
{
var name = "bob";
doSomething(function()
{
if (false)
{
var name = "fred";
}
// Were you expecting it to be "bob"?!
alert(name);
});
}
function doSomething(callbackFunction)
{
callbackFunction();
}
输出
undefined
我的尝试
首先在main()
内,我们将name
设置为bob
。然后函数doSomething
调用我们传入的匿名函数。
现在,我有点困惑。
if (false)
检查什么?如果错误,我们是否将name
重置为fred?
然后我们继续提醒name
,其中......显然是undefined
。