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。
相关链接:
- http://www.w3help.org/zh-cn/causes/SJ9001
- http://www.uini.net/2010/11/quest-named-function-expression.html
- https://bugzilla.mozilla.org/show_bug.cgi?id=468096