2013-09-15 5 views
-1

Этот фрагмент кода в <head> теге нормальных аварий страниц, которые когда-либо браузер, я использую его в:Javascript сниппет врезается веб-браузер

function insert(str, position, insert) { 
    var current = str; 
    var start = current.slice(0, position); 
    var end = current.slice(position, current.length); 
    return start + insert + end; 
}; 

var str = "1000"; 
var nbd = str.length; 
var mod = nbd%3; 

for (var i = mod; i < str.length; i+3) { 
    str = insert(str,i,","); 
} 

console.log(str); 
console.log("mod: " + mod); 

также, если функция insert является прообразом строки то, что вызвать сбой будет так :

String.prototype.insert(position, insert) { 
    var current = this; 
    var start = current.slice(0, position); 
    var end = current.slice(position, current.length); 
    return start + insert + end; 
} 
+2

«for» - это бесконечный цикл, а «str» растет бесконечно - страница должна замерзать, пока процесс не закончится. Попробуйте 'i + = 3'. – orip

+0

почему я получил нисходящий сигнал, это может быть глупая ошибка, но нет необходимости в downvote. –

ответ

1

Вы добавляете три к i в свой цикл for(), но это значение не сохраняется в i. Ваше третье предложение в цикле for должно быть i + = 3, чтобы добавить 3 обратно к переменной i.

+0

ха-ха, я тоже разбил jsfiddle :) –

1

i в течение цикла не увеличивается. Использовать:

for (var i = mod; i < str.length; i = i+3) ... 
Смежные вопросы