Javascript jQuery变量增量++;不使用脚本

Javascript jQuery变量增量++;不使用脚本,javascript,jquery,Javascript,Jquery,我有一个jQuery函数,可以在ID从状态0到状态5的不同状态消息(p元素)之间切换: setTimeout(function() { var next_status; if (current_status < 5) { next_status = current_status++; } else { next_status = 0; } $(".status_visible").fadeOut("fast", f

我有一个jQuery函数,可以在ID从状态0到状态5的不同状态消息(p元素)之间切换:

setTimeout(function() {
    var next_status;

    if (current_status < 5) {
        next_status = current_status++;
    } else {
        next_status = 0;
    }

    $(".status_visible").fadeOut("fast", function() {
        $("#status_"+next_status).fadeIn("fast");
    });

    //alert(next_status);

    change_status();
}, 10000);
setTimeout(函数(){
var下一步状态;
如果(当前_状态<5){
下一个_状态=当前_状态++;
}否则{
下一个_状态=0;
}
$(“.status_visible”).fadeOut(“快速”,函数(){
$(“状态”+下一个状态).fadeIn(“快速”);
});
//警报(下一状态);
更改_状态();
}, 10000);
我的问题是,首先,
current_status
肯定等于0,但当它到达我的增量部分时,仍然是0!我尝试了一个简单的
next\u status=current\u status+1
,它返回01而不是1(将它们连接起来),所以我尝试了
next\u status=current\u status++
,它仍然返回0


有人能直接告诉我吗:)

你的超时方法“setTimeout”会被多次调用吗?如果是这样,您需要将计数器作为具有全局作用域的参数传递,否则每次都会重置计数器

表达式
current_status++
的意思是“增加current_status,并计算为current_status的旧值”,也就是说,使用current_status,然后在记下其值后再增加它

next_status = ++ current_status;

您需要,
++current\u status
,这意味着“增加current\u status,并计算为新值。”

就是这样!!非常感谢。除了黄涛建议的预递增运算符外,您还可以用
next_status=++current_status%5
@amnotiam替换整个if/else。谢谢,这非常有用,也很有趣。