我正在使用这种特殊的语法在列表迭代期间将对象分配给实例变量:
execute: =>
while @canExecute()
for @currentStack in @stacks
@executeNext()
if @currentStack.isEmpty()
@stacks.remove @currentStack
break
这里重要的一行是for @currentStack in @stacks
. this.currentStack
这在迭代期间分配。我喜欢这个。这让我开心。
我很担心这是一个问题。我没有在任何地方看到它专门记录。此代码在几种不同的产品中运行,我自己没有发现问题。有人有这方面的经验吗?