CF中的点和方括号表示法不应该表现相同吗?

时间:2014-08-14 09:35:43

标签: coldfusion coldfusion-10 railo cfml

使用此代码:

<cfset foo = {}>
<cfset exists1 = !isDefined("foo.foo")>
<cfset exists2 = isNull(foo.foo)>
<cfset exists3 = isNull(foo['foo'])>

Railo传递ok(全部为True),而CF在最后一行抛出异常。

  

coldfusion.runtime.UndefinedElementException:元素foo未定义   在作为表达式的一部分引用的CFML结构中。

我一直认为CFML中的点符号和方括号表示法应该在功能上等效,只有方括号可以定义区分大小写的键。

A bug I reported here最近标记为“NotABug”。

有人可以解释原因吗?

1 个答案:

答案 0 :(得分:5)

我已经添加了对该错误的评论。基本上,Adobe关闭它的原因是&#34;而不是一个错误&#34;,是因为他们的工程师对它进行了分类是一个布偶。它解决了一个错误。

这是因为您的代码无法正常工作。