粘贴以下代码后,我的浏览器崩溃了。为什么?

时间:2014-01-12 16:07:10

标签: javascript browser crash

粘贴以下代码后,我的浏览器崩溃了。我完全不知道为什么。我是Javascript的新手。

这是我的代码:

var randarray = new Array();
var l = 0;
var flag;
var numofpost = 5;

function randomposts(json) {
    var total = parseInt(json.feed.openSearch$totalResults.$t, 10);
    for (i = 0; i < numofpost;) {
        flag = 0;
        randarray.length = numofpost;
        l = Math.floor(Math.random() * total);
        for (j in randarray) {
            if (l == randarray[j]) {
                flag = 1;
            }
        }
        if (flag == 0 && l != 0) {
            randarray[i++] = l;
        }
    }
    document.write('<ul class="rp-menu">');
    for (n in randarray) {
        var p = randarray[n];
        var entry = json.feed.entry[p - 1];
        for (k = 0; k < entry.link.length; k++) {
            if (entry.link[k].rel == 'alternate') {
                var item = "<li>" + "<a href=" + entry.link[k].href + ">" + entry.title.$t + "</a></li>";
                document.write(item);
            }
        }
    }
    document.write('</ul>');
}

1 个答案:

答案 0 :(得分:2)

第一个i循环中for的增量是在一个条件的后面,所以如果它永远不会解析为true,那么你将有一个无限循环