在ColdFusion中如何将保留关键字用作变量名?
ColdFusion中使用保留关键字「function」作为变量名的实现方法
你之前尝试的@符号是C#等其他语言的保留字转义方案,不适用于ColdFusion。ColdFusion不支持直接以裸标识符形式使用保留关键字作为变量名,可行实现方案如下:
- 方案1:通过作用域+方括号引用的方式声明/调用变量
所有ColdFusion变量都归属特定作用域,你可以将保留关键字以字符串形式作为键名传入方括号完成访问,该方案兼容所有ColdFusion版本,是最常用的实现方式。
cfscript写法示例:
标签写法示例:// 声明变量,variables为默认公共作用域 variables["function"] = "用保留字作为变量名存储的内容"; // 调用变量 writeOutput(variables["function"]);<!--- 声明变量 ---> <cfset variables["function"] = "标签模式下存储的保留字变量值"> <!--- 输出变量 ---> <cfoutput>#variables["function"]#</cfoutput> - 方案2:封装为自定义结构体的键值
如果你不想每次都携带作用域,可以将这类保留字变量统一放到自定义结构体中管理,用法和作用域方括号调用一致:
示例代码:// 初始化自定义结构体 customVars = {}; // 赋值 customVars["function"] = "结构体中存储的保留字变量"; // 调用 writeOutput(customVars["function"]); - 注意事项:不要尝试用点语法调用这类变量,
variables.function、customVars.function这类写法都会直接触发语法错误,必须始终使用方括号+字符串键名的形式访问。
内容的提问来源于stack exchange,提问作者suraj p Yedre
相关产品推荐
相关产品推荐

