gpt4 book ai didi

对象字面量内的 ColdFusion 局部作用域

转载 作者:行者123 更新时间:2023-12-01 02:34:00 34 4
gpt4 key购买 nike

在函数参数中的对象字面量中使用 CF 的局部范围时,我看到了一些奇怪的行为。但只有在循环内执行时......

示例代码:

<cffunction name="f">
<cfoutput>
<cfset LOCAL.foo = 123 />

<!--- Works fine --->
#serializeJSON({blah = LOCAL.foo})#

<!--- Works fine --->
<cfloop from=1 to=1 index="i">
<cfset bar = {blah = LOCAL.foo} />
#serializeJSON(bar)#
</cfloop>

<!--- Element FOO is undefined in LOCAL --->
<cfloop from=1 to=1 index="i">
#serializeJSON({blah = LOCAL.foo})#
</cfloop>
</cfoutput>
</cffunction>


<cfset f() />

PS: serializeJSON()仅用于示例目的。这发生在我测试过的任何函数中,其中一个参数是结构。

最佳答案

在 Railo 中工作得很好。

如果使用任何其他容器而不是 local 也没有任何区别范围,也不可能用 cftry 捕捉到这一点.

如果在循环中仅序列化本地范围:

<cfloop from=1 to=1 index="i">
#serializeJSON(local)#
</cfloop>

结果是:
{"ARGUMENTS":{},"___IMPLICITARRYSTRUCTVAR1":{"BLAH":123},"___IMPLICITARRYSTRUCTVAR0":{"BLAH":123},"FOO":123} 

看起来像一个错误。心灵 filing ?

关于对象字面量内的 ColdFusion 局部作用域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11190518/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com