代码如下

var mailArchive = {0: "Dear nephew, ... (mail number 1)",
                   1: "(mail number 2)",
                   2: "(mail number 3)"};

for (var current = 0; current in mailArchive; current++)
  print("Processing e-mail #", current, ": ", mailArchive[current]);


我认为current < mailArchive.length将是更好的关闭条件...

current in mailArchive是否完成与the interpreter中相同的功能(打印功能必需)?如果没有,它将完成什么工作以及如何完成?

最佳答案

是的,它在解释器中有效,我通过node.js交互式会话对其进行了测试。但是,由于mailArchive.length是对象而不是数组,因此mailArchive将不起作用,因此没有名为length的属性。

current in mailArchive检查对象mailArchive是否具有具有变量current中给定名称的属性。

您可能知道也可能不知道,但是这种方法在JavaScript中并不常见。更常见的是使mailArchive成为数组并使用通常的条件current < mailArchive.length

09-10 11:10