JavaScript 功能带有 <script>,不带 <script>

javascript functionality with <script> and without <script>

本文关键字:script 不带 功能 JavaScript      更新时间:2023-09-26

这是html的按钮事件,当按钮单击时它起作用

<!DOCTYPE html>
<html>
<body>
<button onclick="getElementById('demo').innerHTML=Date()">The time is?</button>
<p id="demo"></p>
</body>
</html>

代码来源 1

这个也可以工作,但这次它的功能是用脚本编写的

<!DOCTYPE html>
<html>
<body>
<p>Click the button to display the date.</p>
<button onclick="displayDate()">The time is?</button>
<script>
function displayDate() {
    document.getElementById("demo").innerHTML = Date();
}
</script>
<p id="demo"></p>
</body>
</html> 

源代码 2

两个代码给出相同的结果。我们可以调用两个代码都使用javascript吗?或者代码通过使用JavaScript功能起作用?或者JavaScript代码是HTML页面中唯一写在脚本中的代码

https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/Event_attributes 说明了一切:

每个 HTML 元素都有一组属性,这些属性允许 当某些事件发生时执行 JavaScript。这些属性 称为事件属性,并且是前缀为 "on"。

以下是事件列表: https://developer.mozilla.org/en-US/docs/Web/Events

每个on前缀事件都由 HTML4 DOM 事件接口收集,并由 javascript 在window范围内使用。

避免此类属性。
简而言之:让您的编程逻辑远离您的模板。
使用其他方法将事件侦听器附加到元素。

不,我是说只有我们用块编写的代码才称为javascript,或者我们可以直接使用它而不用脚本编写它,或者是否必须使用脚本

编写脚本不是强制性的,但这是一个遵循的约定,因为您通常不希望您的逻辑(Javascript)位于视图(HTML)中。

如果你看这里,你会看到onclick是click事件的javascript处理程序。

点击

onclick 属性返回当前元素上的单击事件处理程序代码。

所以两者都是javascript。onclick标签基本上指定了一种在没有脚本标签的情况下编写javascript的方法。但是,通常情况下,由于上述分离逻辑和模板的原因,您通常只进行像第一个答案一样的函数调用。

在我看来,你的两种方法都使用javascript。我更喜欢第二个选项并包含来自不同文件的 js,但如果它是这样的小项目,我不会打扰我。