我写了这个范围函数:
function range(m,n) {
var x = m
var xs = [x]
var op = (m <= n)
? function (a,b) { return a+b }
: function (a,b) { return a-b }
while (x !== n) {
var x = op(x)
xs.push(x)
}
return xs
}
...但是当调用时,它会使 Chrome 中的选项卡崩溃(linux 46.0.2490.86(官方版本)(64 位))
它给出了“哇,啪!”消息,以及“检查的目标已断开连接”,但没有更具体的信息。
非常感谢。
最佳答案
您需要不同的函数来计数
function range(m, n) {
var x = m,
xs = [x],
op = m <= n ? function (a) { return a + 1; } : function (a) { return a - 1; };
while (x !== n) {
x = op(x);
xs.push(x);
}
return xs;
}
document.write('<pre>' + JSON.stringify(range(3, 11), 0, 4) + '</pre>');
document.write('<pre>' + JSON.stringify(range(7, 2), 0, 4) + '</pre>');
document.write('<pre>' + JSON.stringify(range(42, 42), 0, 4) + '</pre>');
关于javascript - 为什么这个 `range` 实现会导致 Chrome 中的选项卡崩溃?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33903984/