2017-10-31 2 views
1

함수의 외부에서 값 : 나는 somefunc("value") (위 코드의 마지막 단계 - somefunc();)의 실행에 m 값을 변경할 수 있도록하려면변경 나는 다음과 같은 것을 가지고

function somefunc() { 
    function anotherfunc() { 
     ... 
     if (m > ... 
     ... 
    } 
    $(window).on("scroll", anotherfunc); 
} 

somefunc(); 

를, 그래서 m 값을 anotherfunc으로 전송할 수 있습니다. 그러나 (가능할 수 있는지) 모르겠으며 도움을 요청할 의향이 있습니다.

+0

나는 함수 밖에서'm'을 선언하면 함수 안에서 접근 할 수 있다고 믿는다. 따라서 함수 앞에'var m = 1;'(또는 다른 값)을 추가하십시오. (내가 틀린 사람이라면 제발 정정 해주세요) – LinkinTED

+0

@LinkinTED 나에게이 예를 보여 주시겠습니까? 나는 당신이'somefunc'를 통해 변수를'anotherfunc'에 어떻게 넘겨 줄 수있을지를 전역 ('m')이라고 선언 할지라도 당신이 무엇을 의미하는지 모르겠습니다. – godoyehap

+0

내 대답 참조 ... – LinkinTED

답변

0

function somefunc(m) { 
 
     
 
    function anotherfunc() {   
 
     console.log(m) 
 
    } 
 
    $(window).on("scroll", function(){ 
 
     anotherfunc(m); 
 
    }); 
 
} 
 
somefunc(1);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

+0

고맙습니다.하지만'somefunc();에 선언 된'm' 값을 어떻게 전달할 수 있습니까? 'somefunc ("1");'을 사용하고'function somefunc (m) {'을 사용하면 여전히'm = 0'이됩니다. – godoyehap

+0

@godoyehap 이런 뜻이야? –

+0

그래,'anotherfunc (m)'대신'$ (window) .on ("scroll", ' – godoyehap

0

주석처럼, 기능 외부 m를 선언 : 전역으로 변수를 사용

var m = 1; 
 
console.log('Outside functions: ' + m); 
 
function someFunc() { 
 
    m += 1; 
 
    console.log('someFunc: ' + m); 
 
    function otherFunc() { 
 
    m += 1; 
 
    console.log('otherFunc: ' + m); 
 
    } 
 
    otherFunc(); 
 
} 
 
someFunc();

-1

당신이 더 나은 .bind 기능을 사용하는 좋은 방법이 아닙니다 대신 :

관련 문제