进行测试:<script> function say() { alert( "ABOVE" ); } say(); function say() { alert( "BELOW" ); }</script> 所有测试(Chrome、Firefox、IE)的结果都是“BELOW”。 在这种情况下,javascript 解释器是如何工作的? http://jsfiddle.net/jcv6l/ 最佳答案 基本上,由于提升,它将所有函数声明拉到当前作用域的顶部,解释器基本上是这样做的:function say() { alert( "ABOVE" ); }function say() { alert( "BELOW" ); }say();这就是为什么它总是最终提醒 below关于javascript - 如果我们有 2 个同名的函数声明,将调用哪个以及如何调用 javascript 函数?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15810249/ 10-11 06:11