Pag*_*eYe 2 javascript generator ecmascript-6
我在下面写了一个演示来演示这个问题.
我希望Generator a会对变量进行迭代,然而,影响它后的冗余代码.
任何人都可以一步一步地说清楚为什么会这样吗?
我的代码是:
function* foo(){
var a = 0, c
while(a < 10){
a += 1
yield a //if the semicolon is added here, the final result is 1
[c] = [101]
}
}
var gen= foo()
console.log(gen.next().value) // [101]
Run Code Online (Sandbox Code Playgroud)
如果添加分号,则代码实际上是 yield a; [c] = [101];
所以,你yield在a和[c] = [101];块不会影响实际的返回值.
否则,代码yield a[c] = [101];是[101]:
function* foo(){
var a = 0, c
while(a < 10){
a += 1
yield a[c] = [101];
}
}
var gen= foo()
console.log(gen.next().value) // [101]Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
62 次 |
| 最近记录: |