这是教授新人 ColdFusion 的最大障碍之一。
何时使用#充其量是不明确的。由于使用它们通常不会产生问题,因此大多数人似乎倾向于过度使用它们。
那么,基本规则是什么?
我认为说哪里不使用#可能更容易。唯一的地方是在 cfif 语句和 cfset 语句中,您不使用变量在引号中构建字符串。在几乎所有其他情况下,您都需要使用 # 符号。
您不打算使用它的示例:
<cfset value1 = 5>
<cfset value2 = value1/>
<cfif value1 EQ value2>
Yay!!!
</cfif>
<cfset value2 = "Four plus one is " & value1/>
使用 # 的示例:
in a cfset where the variable is surrounded by quotes
<cfset value1 = 5>
<cfset value2 = "Four plus one is #value1#"/>
the bodies of cfoutput, cfmail, and cffunction (output="yes") tags
<cfoutput>#value2#</cfoutput>
<cfmail to="[email protected] /cdn-cgi/l/email-protection" from="[email protected] /cdn-cgi/l/email-protection" subject="x">#value2#</cfmail>
<cffunction name="func" output="yes">#value2#</cffunction>
in an attribute value of any coldfusion tag
<cfset dsn = "myDB"/>
<cfquery name="qryUsers" datasource="#dsn#">
<cfset value1 = 5>
<cfset value2 = 10/>
<cfloop from="#value1#" to="#value2#" index="i">
<cfqueryparam value="#value1#" cfsqltype="cf_sql_integer"/>
EDIT:
我刚刚注意到的一件奇怪的小事似乎不一致,那就是条件循环允许使用带或不带 # 符号的变量名。
<cfset value1 = 5>
<cfloop condition = "value1 LTE 10">
<cfoutput>#value1#</cfoutput><br>
<cfset value1 += 1>
</cfloop>
<cfset value1 = 5>
<cfloop condition = "#value1# LTE 10">
<cfoutput>#value1#</cfoutput><br>
<cfset value1 += 1>
</cfloop>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)