[Javascript] 자바스크립트 함수(메소드),Function(Method) 특징- 호이스팅
자바스크립트(메소드),Function(Method)
자바 메소드 선언
public [static] int m1(int num){
return 10;
}
자바스크립트 함수 선언
function m1(num){
return 10;
}
자바스크립트의 특징 - 호이스팅
- 브라우저는 자바스크립트 코드를 실행하기 직전에 모든 스크립트 코드를 확인 후 변수와 함수 선언하는 부분을 해당 영역의 최 상단으로 이동시킨다.
- 변수와 함수 둘다 허용.
ex)
f4();
//함수 호이스팅
function f4(){
console.log("F4");
} 분명 함수를 아래에 선언하고 함수선언 전에 f4(); 함수를 호출했는데 호출이 됨!
//변수 호이스팅
console.log(address);
var address="서울시 강남구";
변수를 더 아래에 선언하고 호출을 위에서 했지만 접근이 가능.
- 제어문에서 선언된 변수와 반복문의 반복변수도 호이스팅 허용
하지만 함수의 영역안에서는 호이스팅이 허용되지 않음.
function f5(){
console.log(age); console.log 결과로 undefined가 나옴
var age = 20;
}
f5();
자바스크립트 변수영역
자바 : 멤버변수 vs 지역변수
자바스크립트 : 전역 변수 vs 지역 변수
1. 전역 변수, Global Variable
- <script> 태그 내에서 직접 만든 변수
- 현재 페이지안에서만..
- <script> 태그가 여러개인 경우 두개의 변수는 공유 가능.
<script>
//위의 자바스크립트 영역
var age = 20;
</script>
<script>
//아래의 자바스크립트 영역
console.log(age); //20 이렇게 접근이 가능하다.
</script>
2. 지역 변수, Local Variable
- 블럭(메소드,제어문)내에서 선언 : 자바
- 블럭(함수)내에서 선언 : 자바스크립트