Javascript 本地存储示例没有';I don’我不能按我期望的那样工作

Javascript 本地存储示例没有';I don’我不能按我期望的那样工作,javascript,html,Javascript,Html,在我的网络大学课程中,有一个本地存储的例子,它说它应该在输入区域显示按钮的点击次数,并将其存储在本地存储中,但无论我点击按钮多少次,我得到的都是输入的NaN <head> <script> window.onload = function() { var el=document.getElementById("bt"); el.onclick= function() {

在我的网络大学课程中,有一个本地存储的例子,它说它应该在输入区域显示按钮的点击次数,并将其存储在本地存储中,但无论我点击按钮多少次,我得到的都是输入的NaN

<head>
    <script>
        window.onload = function()
        {
        var el=document.getElementById("bt");
        el.onclick= function()
        {
        var x = parseInt(localStorage.getItem("nrc"));
        if (x!==NaN){
        localStorage.setItem("nrc", x + 1);
        }
        else{
        localStorage.setItem("nrc", "1");
        }
        document.getElementById("write").value = localStorage.getItem("nrc");
        }
            document.getElementById("write").value = localStorage.getItem("nrc");
var buton2=document.getElementById("bt2");
        buton2.onlick = function ()
        {
            localStorage.removeItem("nrc");
        }
            }
            </script>
    </head>


    <body>
        <p> Number of clicks on the button <input type="text" id="write" value="0"> </p>
        <button id="bt"> Click</button>
    <button id="bt2"> Click2</button>
    </body>


window.onload=函数()
{
var el=document.getElementById(“bt”);
el.onclick=函数()
{
var x=parseInt(localStorage.getItem(“nrc”);
如果(x!==NaN){
setItem(“nrc”,x+1);
}
否则{
localStorage.setItem(“nrc”、“1”);
}
document.getElementById(“write”).value=localStorage.getItem(“nrc”);
}
document.getElementById(“write”).value=localStorage.getItem(“nrc”);
var buton2=document.getElementById(“bt2”);
buton2.onlick=函数()
{
localStorage.removietem(“nrc”);
}
}
点击按钮的次数

点击 点击2

编辑:问题已经解决,但现在如果我想从本地存储中删除某个项目或清除本地存储,它将不起作用。

您正在将一个非数字检查为一个非数字,这将始终为真

无论如何,这个解决方案已经发布在评论中了


window.onload=函数(){
var el=document.getElementById(“bt”);
el.onclick=函数(){
var x=parseInt(localStorage.getItem(“nrc”);
如果(!isNaN(x)){
setItem(“nrc”,x+1);
}否则{
localStorage.setItem(“nrc”、“1”);
}
document.getElementById(“write”).value=localStorage.getItem(“nrc”);
}
document.getElementById(“write”).value=localStorage.getItem(“nrc”);
}
点击按钮的次数

点击
您输入了一个拼写错误,您编写了
onlick
而不是
onclick

buton2.onclick = function() {
  console.log('clearing storage!');
  localStorage.removeItem("nrc");
  // Reset input back to zero
  document.getElementById("write").value = '0';
}

完整的工作示例

如果(x!==NaN)
将始终为真,而不管
localStorage[“nrc”]
->的内容是什么!遵循安德烈亚斯所指出的,考虑使用<代码> iSnAd()/Case>,我只是尝试清除本地存储,它不起作用,然后尝试从本地存储中删除一个项目,也不起作用。