본문 바로가기
뉴렉처 과정 기록 (Frontend)/Javascript

04/12 Javascript 함수, 변수 생명주기와 Closure

by yeonee3219 2021. 4. 12.

 

 

 

 

 

자바스크립트에서의 함수

 

var 함수이름 = new Function( " 인자 " , " 함수 구현부분 ; " );

 

-> 이 형식은 잘 안쓴다

 

 

 

 

 

 

 

내부적으로는 Function객체를 만드는 것은 똑같은데 표기법을 바꿔 제공해준다

 

 

함수는 객체이기 때문에 그 함수객체를 참조하는 것이기 때문에 대입하는 형태로 보인다

 

 

 

 

 

 

두번째, 세번째 형식을 많이 쓴다

두번째> 세번째 : 주고받는 것들이 많다보니까 참조하는 형식으로 두번째 방법을 더 많이 쓴다

 

어떠할 때 세번째를 쓰는가?

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

함수안에서 var x를 호출하면 완전한 함수의 지역변수가 된다

 

var 안 써주면 window.x 선언 해준 것이라 전역변수로 사용하겠다는 뜻

 

 

 

 

 

 

 

 

객체 안에서 객체 정의 / 함수안에서 함수 정의 -> 가능    /  오른쪽 사진처럼 전역변수로 하면 겨로가는 3

 

 

 

 

 

 

return되는 순간 a는 사라지는데 

 

참조변수

 

 

 

 

지역변수 x는 죽지않고 계속 살아있기 때문에 ++되서 결과가 나오는걸 알수 있다

 

죽지못하는 이유 : x를 사용하는 function이 반환되고 있어서 계속 사용되기 때문이다 

 

그 객체가 사라져야만 x가 사라질 수 있다