作为函数的输入,我得到一个字符串范围名称,例如FORM
or COOKIE
。如何以括号表示法访问这些顶级范围?
我正在寻找类似的东西:
var myScope = "FORM";
global[myScope];
显然这不起作用:)
(我不是在寻找任何类型的eval
函数,我宁愿switch
手动通过字符串来获得正确的范围而不是eval
函数......)
编辑
需要功能,因此我可以在请求的早期调用一个简单/可访问的函数,以识别错误请求,这些请求要么发送错误类型的数据,要么只是不发送所需数据。
例如,我将在需要变量的请求中尽早调用以下函数FORM.data1:numeric
,FORM.data2:bit
并且COOKIE.data3:string
:
<cfset require({
"FORM" : {
"data1":"numeric",
"data2":"bit"
},
"COOKIE":{
"data3":"string"
}
})>
我知道以下可能会更容易一些:
<cfset require({
"FORM.data1":"numeric",
"FORM.data2":"bit",
"COOKIE.data3":"string"
})>
而不仅仅是使用isDefined
,但我需要更多的灵活性来实现其他功能。