我知道结果是一样的,但是有什么真正的区别吗?也许速度或什么?
component {
remote function getMath(){
math = 2 + 2;
return math;
}
}
或
<cfcomponent>
<cfscript>
remote function getMath(){
math = 2 + 2;
return math;
}
</cfscript>
</cfcomponent>
或
<cfcomponent>
<cffunction name="getMath" access="remote">
<cfscript>
math = 2 + 2;
return math;
</cfscript>
</cffunction>
</cfcomponent>
答案 0 :(得分:5)
不是特别的。
版本3,完整标签,将向后兼容ColdFusion 8和ColdFusion服务器的开源版本,例如。 Railo或OpenBD。
版本2既不是东西也不是什么。
版本1是完整的ColdFusion 9脚本版本。
我建议您在第一个版本和最后一个版本之间进行选择并坚持下去。版本2不向后兼容coldfusion 8,既不是标签也不是脚本。像这样的编码会很快变得混乱。
答案 1 :(得分:2)
如果您计划在脚本中编写所有内容,那么示例1就是您的选择。
您可以在脚本中执行任何操作,如果缺少某些内容,您可以编写一个cfc来实现缺少的功能,然后使用新语法调用它。
如果您使用新代码库重新开始,我会尝试避免所有标记,因此选项1。
答案 2 :(得分:2)
就执行速度而言,它们都编译为相同的字节代码,因此应该相同。
根据键入的字符数(不包括换行符/制表符):
例如1:64
例如2:100
例如3:129
如果您正在运行Adobe CF9,请使用选项1.它更加简洁。这几天你几乎可以在<cfscript>
做所有事情。
如果要检查每个编译的字节代码,请在cf admin中保存.class文件,并使用反编译器查看/ Classes目录中的文件。例如。 JD-Gui
答案 3 :(得分:1)
cfscript可能更快一点,并且与其他语言更加一致,而方法更简单(隐藏更多复杂性),更像是。
CF起初是一种基础语言,并且已经发展为包含一种完整的脚本风格替代方法。
差异是开发者风格的问题。