在 Coldfusion 里, 可以使用 cffunction 去定义一个自定义函数。 但是有时候程序的设计不是很完美, 自定义函数经常要修改, 那么参数上的调用就会有问题。 这个问题如何解决呢?Coldfusion 的自定义函数的参数传递原来可以看作属性。 调用的时候可以告诉自定义函数, 这个值是属于哪个参数的。

<cffunction name="t">
  <cfargument name="a" default="" required="yes" />
  <cfargument name="b" default="" required="yes" />
  <cfargument name="c" default="" required="yes" />
  <cfdump var="#arguments#">
</cffunction>

以上的函数, 如果不指定传递参数的情况下, 代码如下:

<cfset t(1,2,3)>

那么 a = 1, b = 2, c = 3

如果不想按顺序传递参数, 代码可以如下:

<cfset t(b="1" )>

那么, 参数 b 的值是 1, 其他参数就会使用默认值。 也就是 a="" , c=""