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>
这门语言的新手,非常新,本周开始用它编写代码。
所以我的问题是我开始使用的新公司使用 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>