javascript - 在 javascript 中增加一个整数会导致 NaN

标签 javascript jquery auto-increment

我尝试对此进行调试,但我只是不明白为什么每当我将变量 disp 加一时它都会返回 NaN 。如果有人能解释为什么会发生这种情况,我将不胜感激。

var votePages = new Array();
votePages[0] = "http://minecraftservers.org/vote/100924";
votePages[1] = "http://www.planetminecraft.com/server/revolutionarycraft---ssdfactionsecosurvivalgrief/vote/";
votePages[2] = "http://minecraftservers.net/server/66267/vote/";
votePages[3] = "http://mineservers.com/server/11885/vote";
votePages[4] = "https://minestatus.net/92187-revolutionary-craft/vote";
var disp = 0;

$("#dispVotePage").attr("src", votePages[disp]);

$(document).on('click', '#next', function(){
    $("#dispVotePage").attr("src", '');
    var disp = disp++;
    alert(disp);
    $("#dispVotePage").attr("src", votePages[disp]);
    if (disp !== 0) {
        $("#previous").css('display', 'block');
    }
});

$(document).on('click', '#previous', function(){
    $("#dispVotePage").attr("src", '');
    var disp = disp--;
    $("#dispVotePage").attr("src", votePages[disp]);
    if (disp === 0) {
        $("#previous").css('display', 'none');
    }
});

你会看到我在那里有警报(disp),它用于调试目的。

最佳答案

重新声明disp。您声明了两次:

var disp = 0;                  //Initial Declaration (Global)

... <snip> ...

$(document).on('click', '#next', function(){
    $("#dispVotePage").attr("src", '');
    var disp = disp++;         //Re-declaration. Declares `disp` as a new local variable.
    alert(disp);
    $("#dispVotePage").attr("src", votePages[disp]);
    if (disp !== 0) {
        $("#previous").css('display', 'block');
    }
});

解决方案:要使用全局disp,就不要再次声明它。只需使用 disp++

关于javascript - 在 javascript 中增加一个整数会导致 NaN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19599616/

相关文章:

javascript - 减少 jquery 选择器获得的结果

javascript - 使用查找字符串设置深层 JS 对象键

Delicious feed 的 jQuery RSS 解析问题

php - 根据 AUTO_INCREMENT(唯一键)更改现有行 ID

javascript - 如何挂载MVC Nodejs + Express

javascript - Gmail API发送电子邮件错误401 :Invalid Credentials

jquery - 使用 jquery 应用 css

javascript - 表单输入字段未显示,javascript/jquery

Android 数据库 SQLite 自动增量不递增并且违反了主要约束

c# - 将数据表自动增量列与数据库同步