与CFscript调用值方法的差异

时间:2016-07-23 18:44:25

标签: coldfusion coldfusion-9 cfml

我正在使用ColdFusion和CFScript。目前我没有遇到任何问题,但发现我可以用3种方式调用值:

  1. Value
  2. 'Value'
  3. '#Value#'
  4. 它们之间有什么区别?提前谢谢!

1 个答案:

答案 0 :(得分:2)

  
      
  1. Value
  2.   

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

  
      
  1. 'Value'
  2.   

包含字符Value的文字字符串。

  
      
  1. '#Value#'
  2.   

将评估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 !!