jQuery는 JavaScript 기반 언어로 JavaScript 역시 이슈에 해당된다. 그럼 var 변수 선언과 var를 생략한 변수 선언의 차이를 정리해보자.
var test1;
var test2, test3;
var test4 = 4;
test5 = 5;
jQuery나 JavaScript 에서 변수를 선언할 때 이런식으로 선언을 하는데 var를 붙인건 영구적이다. 즉 delete연산자로 변수를 지우려고 하면 에러가 발생한다. 같은 변수를 여러번 초기화해도 상관없으며 선언되지 않은 변수에 대해서는 초기화 시 내부적으로 변수선언이 된다.
<결론>
var로 변수선언을 하는 경우
1. 영구적이다. (delete연산자로 변수를 지울 수 없다.)
2. 지역변수이다.
var를 생략하고 변수를 선언하는 경우
1. delete연산자로 변수를 지울 수 있다.
2. 전역변수이다. (실제로는 아래와 같은 과정을 거친다)
선언하려는 변수가 바로 위의 scope에 존재하는지 확인하고 없으면 그 위, 없으면 그 위, 없으면 그 위, 반복하다가 global영역까지도 없다면 global영역에 변수선언하게 된다.