函数的作用域在各浏览器的混乱情况

      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。

相关链接:

原文地址:https://www.cnblogs.com/rubylouvre/p/1878863.html