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