什么是定义方法级别变量范围的最佳方法?Coldfusion方法级别范围定义
一些ColdFusion的文件说,它应该这样做:
<cfset Var testVariable = "this is a local variable">
但其他人,像这样做:
<cfset LOCAL = StructNew() />
<cfset LOCAL.testVariable = StructNew() />
哪种方式更好?
什么是定义方法级别变量范围的最佳方法?Coldfusion方法级别范围定义
一些ColdFusion的文件说,它应该这样做:
<cfset Var testVariable = "this is a local variable">
但其他人,像这样做:
<cfset LOCAL = StructNew() />
<cfset LOCAL.testVariable = StructNew() />
哪种方式更好?
要么会工作。因为在每个函数中都有一个本地范围,它包含任何局部范围的值,所以在本地范围内(并且我假定为10)var local = structNew()是不必要的(尽管无害且使您的代码向后兼容)。同样在CF8和更早的版本中,这些变量将需要在函数中声明的第一件事。
所以具体回答你的问题,我更喜欢的VAR本地= structNew()(或只是VAR本地= {}),因为:
小的澄清,在CF9中你不再需要'var'关键字。但是您仍然必须使用'local'前缀将变量放在函数local scope中,即'
其实这不是一个答案,但你会得到更多的信息[这里](http://www.isummation.com/blog/work-around-coldfusion-local-scope /),我会了解一下本地范围。 – Vikas
值得注意的是你的第二个例子应该是: –
BennyB