与 CFscript 调用值方法的区别
Differences with CFscript calling value methods
我正在使用 ColdFusion 和 CFScript。目前我没有问题,但注意到我可以通过 3 种方式调用值:
Value
'Value'
'#Value#'
它们之间有什么区别?提前致谢!
Value
CF 搜索一个名为 Value
的变量(不区分大小写),从 VARIABLES
范围开始,然后通过其他范围(如 URL
和 FORM
),在找到的第一个变量处停止。
'Value'
包含字符 V
、a
、l
、u
和 e
.
的文字字符串
'#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 !!
我正在使用 ColdFusion 和 CFScript。目前我没有问题,但注意到我可以通过 3 种方式调用值:
Value
'Value'
'#Value#'
它们之间有什么区别?提前致谢!
Value
CF 搜索一个名为 Value
的变量(不区分大小写),从 VARIABLES
范围开始,然后通过其他范围(如 URL
和 FORM
),在找到的第一个变量处停止。
'Value'
包含字符 V
、a
、l
、u
和 e
.
'#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 !!