与 CFscript 调用值方法的区别

Differences with CFscript calling value methods

我正在使用 ColdFusion 和 CFScript。目前我没有问题,但注意到我可以通过 3 种方式调用值:

  1. Value
  2. 'Value'
  3. '#Value#'

它们之间有什么区别?提前致谢!

  1. Value

CF 搜索一个名为 Value 的变量(不区分大小写),从 VARIABLES 范围开始,然后通过其他范围(如 URLFORM),在找到的第一个变量处停止。

  1. 'Value'

包含字符 Value.

的文字字符串
  1. '#Value#'

将计算 Value 的字符串(CF 计算 # 之间的内容)。如果变量 Value(不区分大小写)是所谓的 simple value,则变量将被转换为字符串。否则,将抛出异常,因为非简单(即复杂)值不会自动转换为字符串。这基本上等同于 '' & Value & ''(字符串连接)。


Value = 'Hello World !!';

writeOutput(Value);
>> Hello World !!

writeOutput('Value');
>> Value

writeOutput('#Value#');
>> Hello World !!

writeOutput( evaluate('Value') );
>> Hello World !!