CFSET 无变量调用函数

CFSET Invoking Function without variable

这门语言的新手,非常新,本周开始用它编写代码。

所以我的问题是我开始使用的新公司使用 CF11,他们主要只使用标签编码。我想知道是否可以在没有变量声明的情况下调用 cfset

如果不是,使用标签调用函数(没有 return)的更好方法是什么?

<cfset myFunction()>

我通常在 cfset 调用我的启动函数,但它们都有 returning。

<cfset something = #initSomething()#>

是的,调用一个函数而不捕获结果是完全没问题的。可悲的是,旧的 CF 文档中曾经有很多这样的语法。它给人的错误印象是您必须捕获函数的结果(并在所有地方使用额外的井号)。两者都不是真的。即使函数 return 某些事情,您也不需要捕获结果。仅当您希望以后使用它时。您始终可以随意调用函数并完全忽略结果。所以这两个都是有效的:

<!--- 1. capture result ---> 
<cfset result = getTimeNow()>
<!--- 2. ignore result ---> 
<cfset getTimeNow()>

<!--- sample function --->
<cffunction name="getTimeNow" return="date">
    <cfreturn now()>
</cffunction>

从技术上讲,没有什么能阻止您捕获不 return 任何内容的函数的结果。但是,"result" 变量将是未定义的,因此它实际上没有任何用处。

 <cfset result = doNothing()>
 <!--- this will error --->
 <cfoutput>#result#</cfoutput>

 <!--- sample function --->
 <cffunction name="doNothing" return="void">
    <!--- function that returns nothing --->
 </cffunction>