<html>
    <head>
    </head>
    <body>
        <script>
            function wow(){
               alert(1);
            }
            wow();

            function wow(){
                alert(2);
            }
            wow();
        </script>
    </body>
</html>

这是我的代码,我希望它会警告1和2,但是相反,它会再次警告2然后再警告2,为什么?

最佳答案

函数声明被提升。将它们放在*的位置都没关系:它们先处理后再处理。

另一方面,函数表达式未悬挂。

var wow;
wow = function (){ alert(1); };
wow();
wow = function (){ alert(2); };
wow();

出现的范围(父函数或全局)中的*

关于javascript - 为什么我在javascript中覆盖第一个函数时无法正常工作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21951527/

10-12 06:35