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


      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。

相关链接:


发表评论

电子邮件地址不会被公开。

您可以使用这些HTML标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>