Coldfusion 및 범위가 지정되지 않은 변수

천국

현재 모든 함수와 구성 요소에서 범위가 지정되지 않은 변수를 확인하고 있습니다. 모든 기능을 확인하기 위해 varscoper4 라는 도구를 사용하고 있습니다. 다음 코드가 주어지면 varscoper는 범위가 지정되지 않은 4 행의 변수 "input"을 알려줍니다. 이것이 사실이며 변경하는 경우 인수 변수의 범위를 지정해야합니까?

<cfoutput>#testit(1)#</cfoutput>
<cffunction name="testit">
    <cfargument name="input">
    <Cfset input = 3>
    <cfreturn input>
</cffunction>

참고로 varscoper4 함수의 인수 변수 입력을 변경하지 않으면 범위가 지정되지 않은 변수가보고되지 않습니다.

<cfoutput>#testit(1)#</cfoutput>
    <cffunction name="testit">
    <cfargument name="input">
    <Cfset var output = 3 + input>
    <cfreturn output>
</cffunction>
게리 구레 비치

첫 번째 코드 블록에서 입력은 "범위가 지정되지 않음"이지만 CF는이를 인수 범위로 해석합니다. CF는 항상 우선 순위를 살펴봄으로써 범위가 지정되지 않은 변수를 찾으려고합니다. 여기에서 자세한 정보를 찾을 수 있습니다 : http://www.learncfinaweek.com/week1/Scopes/

다른 범위를 덤프하고 출력을 확인하여 어떻게 보이는지 직접 볼 수도 있습니다.

<cfoutput>#testit(1)#</cfoutput>

<cffunction name="testit">
    <cfargument name="input">
    <cfset input = 3>
    <cfdump var="#variables#" label="variables">
    <cfdump var="#arguments#" label="arguments">
    <cfdump var="#local#" label="local">
    <cfreturn input>
</cffunction>

변수 범위를 명시 적으로 지정해야하는 위치에 대한 가이드로 varscoper 도구의 출력을 사용하는 것이 좋습니다. 이 경우 첫 번째 코드 블록은 다음과 같습니다. 이것은 코드의 명확성과 확실성을위한 것입니다.

<cfoutput>#testit(1)#</cfoutput>

<cffunction name="testit">
    <cfargument name="input">
    <cfset arguments.input = 3>
    <cfdump var="#variables#" label="variables">
    <cfdump var="#arguments#" label="arguments">
    <cfdump var="#local#" label="local">
    <cfreturn arguments.input>
</cffunction>

개인적으로 함수와 메서드에서 인수를 설정하거나 변경하는 것을 좋아하지 않습니다. 차라리 두 번째 코드 블록에서와 같이 그것들을 완전하게 유지하고 싶습니다. 그러나 거기에서도 varscoper에 의해 플래그가 지정되지 않았더라도 인수의 출처를 알 수 있도록 명시 적으로 인수 범위를 지정합니다.

<cfoutput>#testit(1)#</cfoutput>

<cffunction name="testit">
    <cfargument name="input">
    <cfset var output = 3 + arguments.input>
    <cfdump var="#variables#" label="variables">
    <cfdump var="#arguments#" label="arguments">
    <cfdump var="#local#" label="local">
    <cfreturn output>
</cffunction>

명확하지 않은 경우 여기에 추가 할 마지막 사항은 var 범위 지정이 모든 것을 로컬 범위에 넣는다는 것입니다. 이 작업을 수행 할 수도 있으며 이전 코드 블록과 기능적으로 동일합니다.

<cfoutput>#testit(1)#</cfoutput>

<cffunction name="testit">
    <cfargument name="input">
    <cfset local.output = 3 + arguments.input>
    <cfdump var="#variables#" label="variables">
    <cfdump var="#arguments#" label="arguments">
    <cfdump var="#local#" label="local">
    <cfreturn local.output>
</cffunction>

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Coldfusion 및 세션 변수가 설정되지 않음

분류에서Dev

변수 정의되지 않은 범위

분류에서Dev

cftry 내의 coldfusion 변수가 지속되지 않습니다.

분류에서Dev

정의되지 않은 변수 'QApplication'및 정의되지 않은 변수 'QDialog'

분류에서Dev

Meteor 호출 범위 변수가 설정되지 않습니다.

분류에서Dev

변수가 정의되어 있고 값이 있어도 Laravel ErrorException 및 정의되지 않은 변수

분류에서Dev

PyDev 및 pygame : 가져 오기 오류로 인한 정의되지 않은 변수

분류에서Dev

컨트롤러에서 정의되지 않은 범위 변수

분류에서Dev

AngularJS 앱의 정의되지 않은 범위 변수

분류에서Dev

변수가 정의되지 않았습니다. 이상한 변수 범위

분류에서Dev

getDataArray () 및 "개체 변수가 설정되지 않음"오류

분류에서Dev

ColdFusion-변수 DSNNAME이 정의되지 않았습니다.

분류에서Dev

지시문 링크 함수에 정의되지 않은 범위 변수

분류에서Dev

범위에 선언되지 않은 변수 및 정의 된 함수는 함수로 사용할 수 없습니다.

분류에서Dev

flutter의 범위에서 변수가 변경되지 않음

분류에서Dev

외부 범위에 정의 된 변수가 내부 범위에 정의되지 않았습니다.

분류에서Dev

함수간에 정의되지 않은 JavaScript 전역 동적 변수가 로컬 범위 인 것 같습니다.

분류에서Dev

Python 3 : 범위에서 재정의 할 때 변수가 해결되지 않음

분류에서Dev

변수가 설정되었지만 사용되지 않음 경고 및 선언되지 않은 식별자 오류

분류에서Dev

정의되지 않은 범위의 빈 셀 수 계산 및 다음 열의 값 합계

분류에서Dev

$ a, $ b, $ c 및 $ d에 정의되지 않은 변수

분류에서Dev

PHP 및 Javascript-정의되지 않은 변수 문제

분류에서Dev

PHP 및 Javascript-정의되지 않은 변수 문제

분류에서Dev

Meteor 및 Semantic UI : 정의되지 않은 변수

분류에서Dev

정의되지 않은 변수 및 mysqli 오류

분류에서Dev

C 정적 범위 변수 정의되지 않음

분류에서Dev

내 Angular 범위 변수가 정의되지 않은 이유는 무엇입니까?

분류에서Dev

Puppet : 환경 변수 설정 및 앱 부팅-정의되지 않은 변수

분류에서Dev

JS 및 Jquery 함수 매개 변수가 정의되지 않았습니다.

Related 관련 기사

  1. 1

    Coldfusion 및 세션 변수가 설정되지 않음

  2. 2

    변수 정의되지 않은 범위

  3. 3

    cftry 내의 coldfusion 변수가 지속되지 않습니다.

  4. 4

    정의되지 않은 변수 'QApplication'및 정의되지 않은 변수 'QDialog'

  5. 5

    Meteor 호출 범위 변수가 설정되지 않습니다.

  6. 6

    변수가 정의되어 있고 값이 있어도 Laravel ErrorException 및 정의되지 않은 변수

  7. 7

    PyDev 및 pygame : 가져 오기 오류로 인한 정의되지 않은 변수

  8. 8

    컨트롤러에서 정의되지 않은 범위 변수

  9. 9

    AngularJS 앱의 정의되지 않은 범위 변수

  10. 10

    변수가 정의되지 않았습니다. 이상한 변수 범위

  11. 11

    getDataArray () 및 "개체 변수가 설정되지 않음"오류

  12. 12

    ColdFusion-변수 DSNNAME이 정의되지 않았습니다.

  13. 13

    지시문 링크 함수에 정의되지 않은 범위 변수

  14. 14

    범위에 선언되지 않은 변수 및 정의 된 함수는 함수로 사용할 수 없습니다.

  15. 15

    flutter의 범위에서 변수가 변경되지 않음

  16. 16

    외부 범위에 정의 된 변수가 내부 범위에 정의되지 않았습니다.

  17. 17

    함수간에 정의되지 않은 JavaScript 전역 동적 변수가 로컬 범위 인 것 같습니다.

  18. 18

    Python 3 : 범위에서 재정의 할 때 변수가 해결되지 않음

  19. 19

    변수가 설정되었지만 사용되지 않음 경고 및 선언되지 않은 식별자 오류

  20. 20

    정의되지 않은 범위의 빈 셀 수 계산 및 다음 열의 값 합계

  21. 21

    $ a, $ b, $ c 및 $ d에 정의되지 않은 변수

  22. 22

    PHP 및 Javascript-정의되지 않은 변수 문제

  23. 23

    PHP 및 Javascript-정의되지 않은 변수 문제

  24. 24

    Meteor 및 Semantic UI : 정의되지 않은 변수

  25. 25

    정의되지 않은 변수 및 mysqli 오류

  26. 26

    C 정적 범위 변수 정의되지 않음

  27. 27

    내 Angular 범위 변수가 정의되지 않은 이유는 무엇입니까?

  28. 28

    Puppet : 환경 변수 설정 및 앱 부팅-정의되지 않은 변수

  29. 29

    JS 및 Jquery 함수 매개 변수가 정의되지 않았습니다.

뜨겁다태그

보관