您可以在 Coldfusion 中同时对多个变量进行 var 作用域吗?

Jim*_*imP 5 coldfusion coldfusion-9

虽然这是可能的并且不会引发错误,但我想知道在一行中 var 作用域多个变量是否是一种经过批准的做法,如下所示:

<cfset VAR var1 = var2 = var3 = ''>
Run Code Online (Sandbox Code Playgroud)

我将不胜感激所有的想法和意见,特别是如果它们带有文档作为支持论据。我知道它可以正常工作而不会引发错误,但我找不到具体的文档来说明它是否会作用于变量或仅声明该值。

谢谢!

Dav*_*ong 2

正如大家所说,您需要使用var或来确定变量的范围local。另外,正如@Ben 所说,你不能像你那样真正使用 var 作用域变量。我建议使用本地范围并执行如下操作:

<cfscript>
     var val = 'some value'
     local = {
          var1 = duplicate(val),
          var2 = duplicate(val),
          var3 = duplicate(val)
      };
</cfscript>
Run Code Online (Sandbox Code Playgroud)

在我看来,这是实现你正在做的事情的最快方法。我使用重复函数只是为了如果您使用复杂变量作为 val (结构、数组等)的值,您不会遇到引用问题。