【发布时间】:2018-03-20 14:02:52
【问题描述】:
例如,
for (i in Cow.array){...}
如果Cow 或Cow.array 被删除,会发生什么?
另外,如果出现错误,我该如何解决?
【问题讨论】:
-
取决于语言。大多数情况下会抛出异常,或者以致命错误结束。有些会“工作”,因为在循环内字段是重复的,所以你不能修改它们,但它会导致奇怪的输出。在任何情况下都不要这样做
-
谢谢,我该如何解决?
-
不要那样做
-
你说的removed是什么意思?您只关心
for in循环的行为吗?如果您delete对象的某个键正在迭代哪些键,则迭代将不会通过该键。如果你从其父对象中删除该对象,那么一切都会照常运行,因为循环保持对对象的实时访问,并且不会在每次迭代时从父对象访问它。
标签: javascript loops for-loop