Coldfusion方法级别范围定义

时间:2012-05-04 07:30:14

标签: coldfusion

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

一些ColdFusion文档说应该这样做:

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

但是其他人,这样做:

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

哪种方式更好?

1 个答案:

答案 0 :(得分:4)

要么工作。

在CF9(我假设10)中,var local = structNew()是不必要的(虽然无害且使代码向后兼容),因为每个函数中都有一个包含任何本地作用域值的本地作用域。此外,对于CF8和更早版本,这些变量将需要是函数中声明的第一个事物。

所以要专门回答你的问题,我更喜欢var local = structNew()(或者只是var local = {}),因为:

  • 这意味着本地范围的变量显然是这样的(var 范围问题可能是一个痛苦的调试)。
  • 您可以转储或检查 cf 8中的本地“范围”。