为什么名称为 "clear" 的函数在 JavaScript 中不起作用

Why function with name "clear" doesn't work in JavaScript

我写了一个小 HTML 文件。我添加了几个带有 onclick 属性的按钮,并在“脚本”标签内编写了我的函数。所有这些都运行良好,但名称为“clear”的函数不起作用。

HTML:

<div>
  <input type="button" value="Copy" onclick="copy();" />
  <input type="button" value="Clear" onclick="clear();" />
</div>

JavaScript:

  function copy() {
    console.log("copy");
    navigator.clipboard.writeText(
      document.getElementById("result_box").value
    );
  }

  function clear() {
    console.log("clear");
  }

当我同时单击这两个按钮时,浏览器控制台只显示一条消息:“复制”。没有错误。

如果我更改此函数的名称,它就会开始工作。我不明白为什么会这样。我以为“clear”这个词是 JavaScript 的保留词,但我在文档的关键字列表中找不到这个词。 有什么想法吗?

这背后的原因是 clear() 在按钮内调用 document.clear 而不是你的清除。