检查变量是否存在
你可以使用 ColdFusion 内置的 StructKeyExists()
函数检查范围中是否已定义变量。这可以在 <cfif>
标记内使用,以防止在你尝试引用不存在的变量时出现错误消息。你还可以使用此功能来确定用户是否执行了某项操作。该函数的语法是
StructKeyExists(structure, "key")
以下示例检查 variables
范围中是否存在变量 firstName
。
<cfif StructKeyExists(variables, "firstName")>
Hello #variables.firstname#!
<cfelse>
Hello stranger!
</cfif>
或者,你可以使用以下功能:
isDefined("scopeName.varName")
为避免歧义,建议声明范围。例如,如果你在范围 test
中有一个变量
<cfset test.name = "Tracy" />
如果你在全局范围内测试 name
,你将得到 true
的结果。
isDefined("name") <!--- true --->
isDefined("x.name") <!--- false--->
isDefined("test.name") <!--- true --->