Eloquent JS 示例 运行 除了 EJ 沙箱

Eloquent JS example doesn't run anywhere but the EJ sandbox

我刚刚打开 Eloquent JS 来提高我的 JavaScript 技能。在这本书的开头,Haverbeke 展示了一个用二进制编写的程序,旨在将 1 和 10 之间的数字相加并吐出总数。

然后他将程序从二进制简化为 1 行 JavaScript。这是最终的代码片段:

console.log(sum(range(1, 10)));
// ---> 55

我在 MDN 上上下搜索,没有看到任何 sum()range() 方法。他谈到 Eloquent 的沙箱环境,有些代码在其他解释器中可能 运行 没有,但这让我很困惑。

我明白这个程序的目的,但我不知道他从哪里得到 sum()range()。我错过了 something/overthinking 吗?这纯粹是为了解释吗?

如果你去 Eloquent js 的网页你可以看到他添加了一个单独的 JavascriptFile 叫做 Intro.js

您将在此处找到缺少的函数:

function range(start, end, step) {
  if (step == null) step = 1;
  var array = [];

  if (step > 0) {
    for (var i = start; i <= end; i += step)
      array.push(i);
  } else {
    for (var i = start; i >= end; i += step)
      array.push(i);
  }
  return array;
}

function sum(array) {
  var total = 0;
  for (var i = 0; i < array.length; i++)
    total += array[i];
  return total;
}

因此您可以下载该 js 并将其包含到您的环境中。