我的函数没有被调用

my function doesn't get called

本文关键字:调用 函数 我的      更新时间:2023-09-26

我有以下代码,在我看来是正确的:

<button onclick="clear()" class="button button-positive btn">Delete Local Storage</button>

而这个功能:

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

该函数不会被

调用,日志也会被调用。

文件链接正确。

任何帮助非常感谢

似乎

clear是保留关键字,请使用另一个函数名称,例如clearLog()而不是clear()

function clearLog() {
   localStorage.clear();
   console.log("Hello")
}
<button onClick="clearLog()" class="button button-positive btn">Delete Local Storage</button>

更新

正如阿伦所说,clear保留的范围相同document.clear()

问题出在内联事件处理程序范围内,clear指的是document.clear()方法。

您可以重命名该方法即可调用它

function clearMe() {
  localStorage.clear();
  console.log("Hello")
}
<button onclick="console.log(clear);clearMe()" class="button button-positive btn">Delete Local Storage</button>

不能使用 clear 作为函数名称。似乎被调用的函数是 调用document.clear()

function clearStorage() {
  localStorage.clear();
  console.log("Hello");
}
<button onclick="clearStorage()" class="button button-positive btn">Delete Local Storage</button>

注意:尽量不要使用全局命名空间或函数

你只需要重命名你的函数,因为clear是保留关键字

    function clr() {
      localStorage.clear();
      console.log("Hello")
    }

这是网页

<button onclick="clr()" class="button button-positive btn">Delete Local Storage</button>

试试这段代码

    <button onclick="javascript:Clear()" class="button button-positive btn">Delete Local Storage</button>
   <script>
    function Clear() {
      console.log("before localstorage clear");
    try{      
      localStorage.clear();
   }
     catch(err){
     console.log("err in clearing function "+err);
}
      console.log("Hello");
    }
    </script>

错误可能由于 localstorage.clear() 函数而出现