检查变量是否存在

你可以使用 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 --->