Вы меняете итератор цикла в другом цикле, вызывая бесконечный цикл.
Изменить эту строку:
for (i=0;i<vars.length;i++) {
К этому:
for (var i=0; i<vars.length; i++) {
И вы не попадете в бесконечный цикл.
Требуется некоторое объяснение .. в функции subnewsc
у вас есть цикл, используя i
в качестве итератора цикла. Поскольку у вас нет var
раньше, он становится глобальной переменной. Теперь внутри этого цикла вы вызываете функцию gValue
, где у вас также есть цикл, снова используя i
в качестве итератора цикла, а без var
это означает использование той же переменной , что и в первом цикле. Это, конечно, вызывает хаос.
Например, когда вы читаете значение второго элемента строки запроса, i
будет иметь значение 1 после вызова var score = gValue(schck);
, поэтому оно никогда не получит больше 3.
Добавив ключевое слово var
, вы сделаете переменную локальной областью действия и решите весь этот беспорядок.