-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

iin for ループはインクリメントしません。使用する:

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

for() ループで i に 3 を追加していますが、その値は i に保存されません。for ループの 3 番目の句は、変数 i に 3 を戻すために i +=3 にする必要があります。

于 2013-09-15T18:32:18.823 に答える