我正在深入研究 for 循环并在 http://www.ecma-international.org/ecma-262/5.1/#sec-12.6.3 的规范中遇到 ExpressionNoIn
这是什么意思?
最佳答案
在 section 11.14 中有解释“逗号运算符 ( , )”:
*NoIn
具有相同的结构,只是 in 排除了 in
关键字的使用,第 11.8 节“关系运算符”:
规范说:
The "NoIn" variants are needed to avoid confusing the
in
operator in a relational expression with thein
operator in afor
statement.
As in
有两种用法:
for (var x in foo) { ... }
或者:
if ('x' in foo) { ... }
“NoIn”变体使得无法在 for
循环的第一个表达式中使用上面的 in
的第二个版本。所以,下面的代码是无效的:
for (y = 'x' in foo; y; y = false) { ... }
关于javascript - ECMAScript 规范中的 `ExpressionNoIn` 是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29309806/