NaN错误 - 处理字符串和整数

时间:2014-06-03 07:31:07

标签: javascript html nan

在学校为lols制作我自己的cookie clicker版本,遇到一些问题;

<!DOCTYPE html> 
<html>
    <head>
        <title>Patrick Clicker</title>
        <script>
            var patricks = parseInt(localStorage.getItem("patrickcount"));
            function increment(n) {
                localStorage.setItem("patrickcount", patricks + n);
                document.getElementById("patrickcounter").innerHTML = "Patricks: " + patricks;
            }
        </script>
    </head>
    <body>
        <img src="patrick.jpg" onclick="increment(1)">
        <p id="patrickcounter">
            Patricks: 0
        </p>
    </body>
</html>

当我点击我的脸时,它说“Patricks:NaN” 我知道NaN意味着什么,但我不知道为什么会造成错误。

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:1)

它最初不起作用,因为您在localStorage中没有最初的值。

你可以这样做:

var patricks = parseInt(localStorage.getItem("patrickcount"))||0;

您是否有意在增量之前显示值?如果那不是您的意图,请将您的功能更改为

function increment(n) {
    patricks += n;
    localStorage.setItem("patrickcount", patricks);
    document.getElementById("patrickcounter").innerHTML = "Patricks: " + patricks;
}

如果您希望页面在点击之前显示正确的值,请在正文的末尾添加:

<script>increment(0)</script>