在使用CFML和CF9时,我通常会对循环变量进行var范围限定,例如在这种情况下是local.i
:
<cfloop list="#this.list#" index="local.i">
<cfif Len(local.i) GT 10>
// do something
</cfif>
</cfloop>
最近我开始将一些东西转换为CFScript,但是(让我失望的是,在CFScript中没有办法循环列表),我想知道是否仍然需要在循环变量上使用var scope,并且如何使用:
for (i = 1; LTE ListLen(this.list); i = i + 1 ) {
if (Len(ListGetAt(this.list, i) GT 10)) {
// do something
}
}
我应该使用
local.i = 1
和local.i = local.i + 1
代替我的示例代码吗?这是必要的吗?
编辑:我还应该问一下我的CFML循环的CFScript形式是否正确;我问这个问题是因为我刚刚注意到我的CFML循环使用逗号和空格作为delimiter
参数,而在CFScript版本的循环中似乎不存在这种情况。