Moh*_*mad 1 coldfusion scope cfloop
以下两个块之间是否存在逻辑差异?还有一种形式比另一种更正确吗?他们都会驻留在他们自己的功能中 - 这里我省略了.
<cfset local.result = 1 />
<cfset local.i = 1 />
<cfloop from="1" to="5" index="i">
<cfset result = result * i />
</cfloop>
Run Code Online (Sandbox Code Playgroud)
和
<cfset local.result = 1 />
<cfset local.i = 1 />
<cfloop from="1" to="5" index="i">
<cfset local.result = local.result * local.i />
</cfloop>
Run Code Online (Sandbox Code Playgroud)
是.在你的第二个例子中,你得到完全相同的结果; 但是,通过明确标识要修改的范围,您已经提高了可读性 - 这是一件好事.
ColdFusion,会先搜索LOCAL范围,所以,你还没有保存过多的ColdFusion处理; 但是,代码现在更清洁了.如果结果存在于CLIENT或COOKIE范围内,那么您将为ColdFusion保存必须首先评估四个或五个其他范围的工作.
我曾经习惯使用'var result = 0;' 将变量本地化到函数的样式,但是,我现在明确地标识了我的所有范围,以帮助确保我正确地确定了所有变量的范围,并使代码更易于理解.
总而言之,代码与机器完全相同,但现在对于人类来说更容易理解.
| 归档时间: |
|
| 查看次数: |
104 次 |
| 最近记录: |