함수 인자에서 객체 리터럴에서 CF의 로컬 범위를 사용할 때 이상한 동작이 나타납니다. 하지만 ... 루프 내부에서 실행되는 경우객체 리터럴 내 ColdFusion 로컬 범위
예 번호 :
<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()
단지 예시적인 목적이다. 이것은 인수 중 하나가 구조체 인 곳에서 테스트 한 모든 함수에서 발생합니다.
그래서 "이상한 행동"이란 무엇입니까? –
"FOO 요소가 로컬에서 정의되지 않았습니다." – stubotnik