-1

普通页面标签中的这个片段在<head>我使用它的任何浏览器中都会崩溃:

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;
}
4

2 回答 2

1

i在 for 循环中不会增加。利用:

for (var i = mod; i < str.length; i = i+3) ...
于 2013-09-15T18:31:50.097 回答
1

您在 for() 循环中将三个添加到 i,但该值不会保存回 i。for 循环中的第三个子句应该是 i +=3 以将 3 添加回变量 i。

于 2013-09-15T18:32:18.823 回答