ColdFusion structkey以数字开头

时间:2012-03-17 14:41:26

标签: variables coldfusion coldfusion-9

为什么会失败:

<CFIF isdefined("URL.3dfile")>...</CFIF>

以下消息:

  

函数IsDefined的参数1,现在是URL.3dfile,必须是语法上有效的变量名。

这不会:

<CFIF structkeyexists(URL,"3dfile")>...</CFIF>

解析的方式不一样吗?并且......是以数字开头的变量无效或者不是吗?

1 个答案:

答案 0 :(得分:11)

Seybsen - 变量名称不应以数字开头。这可能是较旧的非Java版本CF的遗留物,其中变量不是对象的一部分。

但是,在java世界中,一切都是对象。这导致语法上的细微差别。如果您使用虚线表示法中的变量名称,则var名称可能会引发错误。但是以其他方式使用它会成功。

所以这种语法有效     url['33foo']

但直接设置变量名称 - 33foo = true - 将无效。

这是一篇完整解释的帖子。

http://www.coldfusionmuse.com/index.cfm/2005/9/8/isdefined%20vs%20structkeyexists