javascript - 为什么我不能在html页面的另一部分调用js函数?

标签 javascript

为什么第一个 JavaScript 片段有效,而第二个无效?:

<script>
  commenta();
  function commenta(){
    alert('test');
  }
</script>
<script>
  commenta();
</script>

<script>
  function commenta(){
    alert('test');
  }
</script>

最佳答案

如评论中所述,它之所以有效是因为 Hoisting . Javascript 引擎会将所有声明移动到函数/全局定义的顶部。

但是第二个例子抛出一个错误,因为提升不会在 <script> 上工作。标签。

尝试调换脚本标签的顺序,应该可以。

fiddle: Your code (Before swap)

fiddle: After swap

关于javascript - 为什么我不能在html页面的另一部分调用js函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33157055/

相关文章:

javascript - Angular JS荧光笔过滤器突出显示文本并更改文本

javascript - 按相关性排序 : How to sort a list to have matching values first?

javascript - 尝试创建大量变量和 for 循环是行不通的

javascript - 如何在 javascript 中使用 main 和 newwindow 的全局变量

javascript - 在 Javascript 中遍历字典

javascript - 横向滚动或向下滚动

javascript - 调用jsPDF的save方法时获取TypeError Arg 1

javascript - Cloud Firestore 中 get() 和 onSnapshot() 的区别

javascript - 在php中提交后如何保留动态选择的值

javascript - 获取小键盘(小键盘)键的正确键码