if(true) { function someFunc(){ return 1; }; } else { function someFunc(){ return 2; }; } var notSomeFunc = function someFunc(){ return 3; }; alert(someFunc());
FF输出1,表现为存在“块作用域”。
IE6-IE8输出3,这是它处理命名函数表达式时出现bug,创建两个截然不同的函数对象。
正确的输出应该为2。
相关链接: