JavaScript for循环只执行一次

时间:2014-06-02 23:34:04

标签: javascript for-loop

非常感谢协助我的代码。这似乎非常非常简单,但我根本无法看到问题所在。仅仅为了测试目的,我想从内部for循环以及" i"的9个值中的每个值输出到#34; j"的9个值中的每个值。在外部for循环中,总共81个输出。但是,它只返回" j"的第一个值。 (9)一次。我做错了什么?

    var getPalindrome = function(){
    for (var i=9;i>0; i--){
        for (var j=9;j>0;j--){
            return ("J: " + j);
        }
        return ("I: " + i);
    }
}
console.log(getPalindrome());

输出:" J:9"

2 个答案:

答案 0 :(得分:1)

不要在每个循环中从函数返回

你想要这样的东西

var getPalindrome = function(){
    var retval = ""
    for (var i=9;i>0; i--){
        for (var j=9;j>0;j--){
            retval += "J: " + j + "\n";
        }
        retval += "I: " + i + "\n";
    }
    return retval;
}
console.log(getPalindrome());

var getPalindrome = function(){
    for (var i=9;i>0; i--){
        for (var j=9;j>0;j--){
            console.log( "J: " + j);
        }
        console.log("I: " + i);
    }
}
getPalindrome();

答案 1 :(得分:1)

回归并不像回声。在过程结束之前它不会返回,然后将最后一个输入输出到变量。尝试使用document.write或使用数组捕获每个循环,然后在循环后输出结果。