在javascript中增加整数会导致NaN [英] Incrementing an integer in javascript results in NaN

查看:158
本文介绍了在javascript中增加整数会导致NaN的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试过调试这个,但我只是不明白为什么每当我将它递增1时变量disp就会以NaN的形式返回。如果有人能说清楚为什么会发生这种情况,我会十分感激它。

I've tried to debug this but I just don't understand why the variable disp returns as NaN whenever I increment it by one. If anyone could shed some light on why this is happening I'd appreciate it tenfold.

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),用于调试目的。

You'll see that I have alert(disp) in there, its for debugging purposes.

推荐答案

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

Re-declaration of disp. You are declaring it twice:

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 ++

Solution: To use the global disp, do not declare it again. Just use disp++

这篇关于在javascript中增加整数会导致NaN的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆