키워드, 블록 스코프 -ECMAScript

글로벌 변수 오해

글로벌 오브젝트에 작성한 변수는 글로벌 오브젝트가 스코프입니다.
글로벌 오브젝트에 작성하여 글로벌 변수라고 부르는 것이지,
글로벌 오브젝트에서 보면 로컬 변수입니다.

var 키워드를 작성하지 않으면 글로벌 변수로 간주한다는 점으로 인해
var키워드를 작성하지 않을 뿐이지 글로벌 변수는 var 키워드를 사용하지 않는다는것이 아닙니다.

글로벌 변수도 var 키워드를 사용하여

var global = “”;

형식으로 작성하는 것이 정확한 작성법입니다.

글로벌 변수는 객체지향 관점에서 보면 단점이라고 할 수 있습니다.
function 안에서 글로벌 오브젝트에 작성된 글로벌 변수를 사용할 수는 있지만,
다른 프로그램에서 글로벌 변수 값을 변경 하거나 재사용 할 수도 있는 위험이 있습니다.
이러한 경우는 자칫 오류를 만들게 되어 객체 지향 기본에서 어긋나는 행동입니다.

자세히 보기

Strict mode -ECMAScript


Strict mode

strict mode
JavaScript 코드가 “엄격 모드”에서 실행되도록 정의합니다.

“strict mode”지시문은 ECMAScript 버전 5에서 새로 추가되었습니다.

IE9 이하를 제외한 모든 최신 브라우저는 strict mode를 지원합니다.

가끔 엄격하지 않은 기본값을
“느슨한 모드(sloppy mode)”라고 부르기도 합니다.
공식적인 용어는 아니지만 혹시 모르니 알아두세요.

"strict mode"지시문은 script 나 function의 시작 부분에서만 인식됩니다.

자세히 보기

jQuery 이벤트 핸들러 -jQuery

jQuery에서의 이벤트 사용 기본형

1
2
3
4
5
6
7
<a href="#" id="btn"
>버튼<a>
<script>
$("#btn").click(function(){...})
</script>
</a></a
>
  • $(“#btn”)
    이벤트 대상
  • click()
    이벤트 등록 메서드
  • function(){…}
    이벤트가 발생 했을 때 (이벤트 대상이 클릭되었을 때)
    실행되는 이벤트 핸들러
자세히 보기

선택자 -jQuery


제이쿼리는 자바스크립트를 이용해 만든 라이브러리 언어입니다.
라이브러리 언어란 자바스크립트로 만들어진 다양한 함수들의 집합을 가르킵니다.

제이쿼리는 모질라 사의 자바스크립트 개발자였던
존 레식(John Resig)이 창시 하였습니다.

자세히 보기

이벤트 -JavaScript


브라우저에서 유저가 취하는 모든 동작을 이벤트라 합니다.
이벤트가 발생했을 때 자바스크립트 실행문을 실행하는 것을
이벤트 핸들러라 합니다.

자세히 보기

Global Variable(전역변수)와 Local Variable(지역변수)


변수는 유효범위에 따라

전역변수(Global Variable)와 지역변수(Local Variable)로 구분할 수 있습니다.

이러한 유효범위를 scope라고 합니다.

각각의 function은 각각의 scope를 만듭니다.

  • 전역변수는 함수 외부에서 선언된 변수로, javascript 전체에서 접근할 수 있는 변수입니다.

  • 지역변수는 함수 내부에서 선언된 변수로, 함수가 실행되면 만들어지고 함수가 종료되면 소멸하는 변수입니다. 함수 외부에서는 접근할 수 없습니다.

1
2
3
4
5
6
7
8
9
10
11
12
var num =200; // 전역 변수  

function myFnc(){ // 지역 변수 함수
var num=500;
}
myFnc(); // 함수를 호출합니다.

document.write(num);
/* 함수 내에 작성한 var(변수)는 지역 변수이므로
함수 밖에서는 불러올 수 없습니다.
따라서 전역 변수로 선언된 num값 200이 출력됩니다.
*/

의도하지 않는 전역 변수를 작성하게 된다면
전역 변수 및 함수를 덮어쓸 수 있으므로 주의 하여 사용 해야 합니다.

return 문,재귀 함수 호출 -JavaScript

return 문 이란 함수에서 결과값을 되돌려 줄 때 사용합니다.
함수에서 return 문이 실행되면
반복문에 break문과 비슷하게 실행문이 강제 종료됩니다.

기본형
function 함수명(){
실행문;
return 데이터(값);
}

예시1
1
2
3
4
5
6
function calc(){  
var result=100+200
return result; // calc값에 300을 반환합니다.
}
var num = calc();
document.write(num);
예시2
1
2
3
4
5
6
7
function test(){  
document.write("html");
return;
// 다음 실행문은 실행되지 않습니다.
document.write("javascript");
}
myFnc();
자세히 보기