[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

- 블럭(메소드,제어문)내에서 선언 : 자바

- 블럭(함수)내에서 선언 : 자바스크립트


댓글

Designed by JB FACTORY