普通网页的<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;
}
答案 0 :(得分:1)
i
不会递增。使用:
for (var i = mod; i < str.length; i = i+3) ...
答案 1 :(得分:1)
你在for()循环中向i添加了三个,但是该值不会保存回i。 for循环中的第三个子句应该是i + = 3,将3加回到变量i。