使用此代码:
<cfset foo = {}>
<cfset exists1 = !isDefined("foo.foo")>
<cfset exists2 = isNull(foo.foo)>
<cfset exists3 = isNull(foo['foo'])>
Railo 通过 ok (all True) 而 CF 在最后一行抛出异常。
coldfusion.runtime.UndefinedElementException: Element foo is undefined in a CFML structure referenced as part of an expression.
我一直认为 CFML 中的点符号和方括号符号在功能上应该是等效的,而不仅仅是方括号可以定义区分大小写的键。
A bug I reported here最近被标记为“NotABug”。
有人可以解释为什么吗?
最佳答案
我已经对错误添加了评论。基本上 Adobe 将其关闭为“不是错误”的原因是因为他们对它进行分类的工程师是一个木偶。这绝对是一个错误。
这是因为您的代码无法正常工作的错误。
关于coldfusion - 点和方括号表示法在 CF 中的行为不应该相同吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25304785/