0
자바 스크립트에서 정적 변수에 대한 질문이 있습니다. 그들은 스크립트의 범위 내에서만 지속됩니까? 내 말은 컨트롤이 스크립트를 떠나 HTML 코드로 돌아 가면 정적 변수가 여전히 존재한다는 것입니다.컨트롤에서 스크립트를 벗어나면 JavaScript 정적 변수가 유지됩니까?
자바 스크립트에서 정적 변수에 대한 질문이 있습니다. 그들은 스크립트의 범위 내에서만 지속됩니까? 내 말은 컨트롤이 스크립트를 떠나 HTML 코드로 돌아 가면 정적 변수가 여전히 존재한다는 것입니다.컨트롤에서 스크립트를 벗어나면 JavaScript 정적 변수가 유지됩니까?
정적 변수 대신 전역 변수라고 가정합니다. 전역 변수는 전역 문서 범위에서 선언됩니다. 모든 메소드 (함수)에서 액세스 할 수 있으며 함수의 코드 블록 내에서 값을 수정하면 전역 변수를 수정하므로 값이 지속됩니다. 예를 들어
을 :
<script type="text/javascript">
global_var = 0; // declared globally
function global_inc(){
global_var += 1; // global var incremented by 1
}
function local_inc(){
local_var = global_var; // declared locally, and scope ends at function end.
local_var += 1; // local var incremented by 1
alert('global: ' + global_var);
alert('local: ' + local_var);
}
function alert_global(){
alert('global: ' + global_var);
}
</script>
<script type="text/javascript">
alert_global(); // alert global (0)
global_inc(); // increment global to 1
local_inc(); // set local to global (1) and increment local to (2), alert both
alert_global(); // alert global (1)
</script>
당신은 얻을 것이다 :의
경고 "글로벌 : 0"의 alert_global()
경고에서 "글로벌 : 1"로컬 "의 local_inc에서()
경고 : 2 "from local_inc()
alert_global()의"global : 1 "경고 :
예 그들은 아직 거기에 있습니다. 페이지를 새로 고침하면 전역 값이 다시로드됩니다. – hvgotcodes
Javascript에서 "정적"변수를 어떻게 선언합니까? 정적 인 변수는 모든 스크립트 인스턴스에서 동일하게 유지됩니다. 예를 들어 정적 인 시간당 요율을 45 달러/시간으로 설정하면 시작시와 모든 메소드 호출시 45 달러가됩니다. 정적 변수는 프로그램 실행 전에 할당됩니다. 따라서 정적 변수는 프로그램 실행의 각 인스턴스마다 어떻게 동일한 값을 가지게됩니다. – Furbeenator
나는 그들을 객체 내의 필드로 선언하고있다. 그래서 코드를 작성하기 전에 프로그램 시작시 선언해야합니까? 함수 안에서 선언 할 수는 없습니까? –