<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/