ColdFusion对象是通过引用还是通过值传递的?

时间:2008-10-20 19:27:23

标签: oop coldfusion cfc cfml

ColdFusion对象(即通过cfobject调用的CFC)通常是通过引用还是通过值传递(复制到内存中)?是否可以强制ColdFusion以任何一种方式传递对象?

4 个答案:

答案 0 :(得分:28)

ColdFusion对象通过引用传递。实际上没有办法按值传递对象,但您可以使用duplicate()函数创建副本。

答案 1 :(得分:15)

好吧,请记住使用duplicate()doesn't work in MX 7来复制某些东西,比如CFC和COM,CORBA和Java对象。不过你是can copy a CFC in CF 8

答案 2 :(得分:10)

通过引用传递诸如结构体和CFC之类的复杂对象,但是如果将数组传递给UDF,则它将按值传递。这使得无法编写像内置数组函数那样改变数组的用户定义函数。如果你真的需要通过引用传递一个数组,你可以将它包装在一个结构中,然后它将通过引用传递。

答案 3 :(得分:4)

FWIW,数组也通过Railo CFML引擎中的引用传递,正如许多开发人员认为的那样。 Railo 3.1还可提供管理设置,允许您选择默认行为,以便与Adobe CF选择兼容。