javascript - 为什么这个 `range` 实现会导致 Chrome 中的选项卡崩溃?

标签 javascript google-chrome

我写了这个范围函数:

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/

相关文章:

javascript - Google Maps Ajax 多个标记 Json

javascript - 动态定义 Mongoose 模型方法

javascript - AngularJS 用函数调用数组

google-chrome - WebAssembly 后 MVP 后原生客户端的 future

google-chrome - 将 Google Chrome 升级到版本 63.0.3239.84 后,我开始收到错误和警告

javascript - tippy.js 工具提示不响应 CSS 样式

javascript - HTMLImageElement 作为 React Child 无效

javascript - 系统跟踪错误。未捕获的安全错误 : Failed to execute 'pushState' on 'History'

javascript - 按下键后防止光标隐藏在浏览器中

javascript - 第一次加载后,Service Worker 缓存会破坏 PDF