我是一个完整的ColdFusion新手,所以请提前为我即将到来的无知道歉.
我们遇到了现有CFScript的问题.有问题的脚本包含以下行:
...
if (fields.length() != 0) {
// do something
}
...
Run Code Online (Sandbox Code Playgroud)
该脚本在ColdFusion 9中成功运行,但在尝试在ColdFusion 7中运行脚本时,我们看到以下消息:
...
Invalid token '!' found on line...
...
Run Code Online (Sandbox Code Playgroud)
我猜ColdFusion 7不喜欢'!='运算符,我是否正确?
如果是这样,CFScript是否存在其他可能导致我们绊倒的向后兼容性问题?我一直在寻找资源,但似乎没有任何确定性.
谢谢.
是的,在CF7中,您需要使用ColdFusion的本机比较运算符neq.
更换
== 同 eq!= 同 neq> 同 gt< 同 lt>= 同 gte<= 同 lte% 同 mod而你很高兴.这些运算符向上兼容,CF9将理解它们.
除此之外,
var)进行分组.这个限制已经在以后的ColdFusion版本中消失了,但是用这种方式编写的脚本当然会继续运行.localCF9 有一个自动范围.这个范围在CF7和CF8中不可用,但按照惯例,人们var local = StructNew();在CF7函数的顶部添加了一个,它也可以在CF> 7中工作.