3

定义方法级变量范围的最佳方法是什么?

一些 ColdFusion 文件说它应该这样做:

 <cfset Var testVariable = "this is a local variable">

但是其他人,这样做:

<cfset LOCAL = StructNew() />
<cfset LOCAL.testVariable  = StructNew() />

哪种方式更好?

4

1 回答 1

4

要么会工作。

在 CF9(我假设为 10)中 var local = structNew() 是不必要的(尽管无害并且使您的代码向后兼容),因为在每个函数中都有一个包含任何本地范围值的本地范围。同样对于 CF8 和更早版本,这些变量需要在函数中首先声明。

因此,为了具体回答您的问题,我更喜欢 var local = structNew() (或只是 var local={}),因为:

  • 这意味着局部范围的变量显然是这样的(var 范围问题可能很难调试)。
  • 您可以转储或检查 cf 8 中的本地“范围”。
于 2012-05-04T07:45:04.750 回答