我的javascript崩溃了服务器

时间:2014-10-15 21:02:19

标签: javascript jquery google-chrome loops crash

现在每个人都有帮助(严肃地说,你们真棒)我正在做一个编码挑战,这意味着我无法从其他用户/人那里获得代码。但是,这不会扩展到建议,所以我想知道为什么我的代码崩溃了Google Chrome。我不希望我不允许任何代码,所以请指出我正确的方向。对于这样一个奇怪的请求,我感到很遗憾,但是我很快就结束了。

http://jsfiddle.net/clarinetking/c49mutqw/9/

    var chars;
var keyword = [];
var cipher;
var done = false;
var list1 = [];
var list2 = [];
var list3 = [];
var list4 = [];
var list5 = [];
var keylngth = 0;

$('#apnd').click(function () {
    cipher = $('#Input').val();
    chars = cipher.split('');
    $('#Output').append(chars);
});

$('#key').click(function () {
    while (done === false) {
        var letter = prompt('insert letter, xyz to close');
        keylngth++;
        if (letter == 'xyz') {
            done = true;
        } else {
            //Push letter to keyword array
            keyword.push(letter);
        }
    }
});

$('#list').click(function () {
    for (i = 0; i < chars.length; i++) {
        var x = 1;        
        for (i = 1; i < keylngth+1; i++) {
            if (i/x === 1) {
                list1.push(chars[x]);
            }
            if (i/x === 2) {
                list1.push(chars[x]);
            }
            if (i/x === 3) {
                list1.push(chars[x]);
            }
            if (i/x === 4) {
                list1.push(chars[x]);
            }
            if (i/x === 5) {
                list1.push(chars[x]);
            }
            if (i/x === 6) {
                list1.push(chars[x]);
            }
            if (i/x === 7) {
                list1.push(chars[x]);
            }
            if (i/x === 8) {
                list1.push(chars[x]);
            }
        }
        x++;
    }
    alert(list1);
    alert(list2);
});

我向所有那些可能尖叫的编码员道歉 USE A REPEAT LOOP!但是对于列表功能,我认为没办法。如前所述,除非它是伪代码,否则没有代码:)

1 个答案:

答案 0 :(得分:1)

在你的$('#list').click(function ())函数中,你正在为bucle运行一个无限的,因为你使用相同的i计数器为这两个用于bucles,所以你的javascript将运行forerver并崩溃浏览器