Get to know MDN better
此页面由社区从英文翻译而来。了解更多并加入 MDN Web Docs 社区。
该 SyntaxError 只出现于严格模式下。
在 for...in 循环的头部存在初始化表达式。也就是存在变量声明并且被赋值,例如 |for (var i = 0 in obj)|。在非严格模式下,这种在循环头部的变量声明会被静默忽略,语句的表现形式与 |for (var i in obj)|相同。而在严格模式下,会报语法错误。
下面这个示例会报语法错误(SyntaxError):
可以把初始化语句 (i = 0) 从 for-in 循环的头部移除。
for...in 循环不应该应用于数组迭代中。是否考虑使用 for 循环而不是 for-in 循环来遍历数组(Array)?在 for 循环中是允许使用初始化语句的: