Javascript For循环不';我不能显示我的射程

Javascript For循环不';我不能显示我的射程,javascript,loops,for-loop,Javascript,Loops,For Loop,我试图让我的for循环以从高到低的顺序显示47到28之间的每个数字 出于某种原因,我的代码给了我答案“28,28” 谁能帮我认清我做错了什么?我只想补充一点,我对javascript还是很陌生的 var fx = ""; var printRangeReversed = function(rangeStart1,rangeStop1){ for (var a3=rangeStart1; a3 > rangeStop1; a3--);

我试图让我的for循环以从高到低的顺序显示47到28之间的每个数字

出于某种原因,我的代码给了我答案“28,28”

谁能帮我认清我做错了什么?我只想补充一点,我对javascript还是很陌生的

    var fx = "";

    var printRangeReversed = function(rangeStart1,rangeStop1){
        for (var a3=rangeStart1; a3 > rangeStop1; a3--); 
            fx+=a3+",";
            return fx=rangeStop1&&(fx+=a3),fx;
            return fx = fx.substr(0,fx.length-1);
    }

ANSWER = printRangeReversed(47,28);

for循环以
结尾,因此后续行只是在执行,就好像它在循环之外一样。另外,第二个
return
语句是多余的,因为第一个
return
下面的代码是不可访问的

更好的代码是

var fx = "";
var printRangeReversed = function(rangeStart1,rangeStop1){
    var arr = [];
    for (var a3 = rangeStart1; a3 >= rangeStop1; a3--) 
        arr.push(a3);
    return arr.join(); // same as arr.join(",")
}
fx = printRangeReversed(47, 28);

请注意,我使用了
=
而不仅仅是
,因为这不是您想要的,因此后续行只是在执行,就好像它在循环之外一样。另外,第二个
return
语句是多余的,因为第一个
return
下面的代码是不可访问的

更好的代码是

var fx = "";
var printRangeReversed = function(rangeStart1,rangeStop1){
    var arr = [];
    for (var a3 = rangeStart1; a3 >= rangeStop1; a3--) 
        arr.push(a3);
    return arr.join(); // same as arr.join(",")
}
fx = printRangeReversed(47, 28);

请注意,我使用了
=
而不仅仅是
,因为这不是您想要的。

您不想在循环内执行返回。让它完成,然后返回结果。例如:

var printRangeReversed = function(rangeStart1,rangeStop1){
    var fx = "";
    for (var a3=rangeStart1; a3 > rangeStop1; a3--) {
        fx+=a3+",";
    }
    return fx;
}

ANSWER = printRangeReversed(47,28);

您不希望在循环内执行返回。让它完成,然后返回结果。例如:

var printRangeReversed = function(rangeStart1,rangeStop1){
    var fx = "";
    for (var a3=rangeStart1; a3 > rangeStop1; a3--) {
        fx+=a3+",";
    }
    return fx;
}

ANSWER = printRangeReversed(47,28);

哇,非常感谢!我应该亲眼看到的!工作完美!哇,非常感谢!我应该亲眼看到的!工作完美!