이 주제에 대한 다른 질문을 많이 읽었습니다. 전역 범위에서 변수 varA
을 내 함수 외부에 선언하면 전역 함수이므로 모든 함수가 액세스하고 사용할 수 있습니다. 그렇죠?함수 내에서 전역 변수를 업데이트 할 수없고 그 외부에서 호출 할 수 없습니다. (jQuery)
이제는 함수 외부에서 변수를 선언하고 함수 외부에서 변수를 선언 할 때이 예제를 사용하지만 함수 외부에서 호출하면 undefined
으로 표시됩니다. 여기에서 함수 내부에서 호출 할 수 있습니다. , 그것은 바뀐다. 이것은 나에게 논리적하지 않는 것
$(document).ready(function() {
var varA;
$(function() {
varA = 'varA has been altered!';
alert(varA); //displays 'varA has been altered!'
});
alert(varA); //displays 'undefined'
});
: 내가 전역 변수를 변경할 때,해야하지 두 번째 alert();
디스플레이 varA
의 가치인가?
이 문제의 해결 방법은 무엇입니까? 함수 내에서 전역 변수를 변경하고 함수 외부에서 그 값을 얻으려면 어떻게해야합니까?
건배
편집 : 내가 하나 개 이상의 기능에 varA
에 액세스 할 수 있어야합니다, 그래서이 $(function() {});
'varA'가 함수 내에 선언되었으므로 전역 범위에서 여전히 액세스 할 수 있습니까? 함수 밖에서 사용할 수 있습니까? –
변수가 함수 범위에 바인딩되어 있으므로 사용할 수 없습니다. 함수 밖에서 액세스하고 싶으면 외부에 선언하십시오. – mc10
함수 위에 문자 'varA'를 문자 그대로 선언하면 여전히 undefined ('var varA; $ (function() {...}))'로 표시됩니다. –