今年我开始提出一个很大的问题。 当我做的时候
myName = "Henry";
myCustomFunction( [ myName, "Thierry" ] );
它会抛出类似myName is undefined
的错误。为什么呢?
我可以通过
来解决这个问题myName = "Henry";
aMyArrayArgument = [ myName, "Thierry" ];
myCustomFunction( aMyArrayArgument );
但是,我想知道为什么Coldfusion不允许在参数中传递[ myName, "Thierry" ]
?
如果可以提供帮助,我会使用Framework One(FW / 1)。
谢谢!
答案 0 :(得分:1)
如果我这样做:
<cffunction name="xx" returntype="void">
<cfargument name="x" type="array">
<cfdump var="#arguments.x#">
</cffunction>
<cfset myname = "dan">
<cfset xx([myname, 'bracuk']) >
代码运行没有错误,我看到转储。您的代码必须有其他内容。
答案 1 :(得分:1)
如果您的实际代码看起来更像这样:
if (something)
{
myName = "Henry";
myCustomFunction( argname=[ myName, "Thierry" ] );
}
然后是因为CF中的文字结构和数组符号编写得非常糟糕且错误。
如果您可以确认其中断的情况,raise an issue with Adobe(已经存在与此相关的几个问题;您可能或者不想检查重复项。)