메인 컨텐츠로 가기

developerWorks 이용 약관에 동의하시는 경우 제출을 클릭하십시오. 이용 약관 보기.

developerWorks에 처음 로그인하면 developerWorks프로파일이 생성됩니다.귀하의 프로파일에서 동의하신 내용이 공개되지만 이 사항은 언제든지 변경 가능합니다. 귀하의 성명(숨김으로 체크되어 있어도 표시됩니다)과 디스플레이 이름은 게시한 컨텐츠나 사이트 엑세스시 표시됩니다.

모든 정보가 안전하게 전송되었습니다.

  • 닫기 [x]

처음 developerWorks에 로그인할 때 프로파일이 작성되므로, 이를 위해 디스플레이 이름을 선택해야 합니다. 선택하신 디스플레이 이름은 developerWorks에 게시한 컨텐츠에 표시됩니다.

3글자 이상 31글자 이하의 길이로 사용 가능합니다. dW커뮤니티 내에서는 보안상 이메일주소를 제외한 다른 이름을 지정하셔야 합니다.

developerWorks 이용 약관에 동의하시는 경우 제출을 클릭하십시오. 이용 약관 보기.

모든 정보가 안전하게 전송되었습니다.

  • 닫기 [x]

JavaScript 언어 시작하기, Part 2: 이벤트, 쿠키, 타이밍 등

Kris Hadlock, 웹개발자/디자이너, Studio Sedition
Kris Hadlock
Kris Hadlock은 1996년부터 계약직 웹 개발자 및 설계자로 일했다. 그는 SPIN Magazine, IKEA, United Airlines, JP Morgan Chase, GoDaddy Software 및 Fire Mountain Gems와 같은 회사의 프로젝트에 참여한 경험이 있다. Kris는 Ajax for Web Application Developers(Sams) 및 The ActionScript Migration Guide(New Riders)의 저자일 뿐 아니라, Peachpit.com, InformIT.com,Practical Web Design 매거진을 포함한 다양한 웹 사이트와 설계 관련 잡지의 기사를 쓰고 칼럼니스트로 활동 중이기도 하다. 그 밖에도, Kris는 양식과 함수의 융합을 전문으로 하는 웹 디자인 및 소프트웨어 개발 스튜디오인 www.studiosedition.com의 창립자이다

요약:  JavaScript는 점점 인기를 얻어, 지금은 인터넷에서 가장 널리 사용되는 언어 중 하나가 되었다고 해도 과언이 아닙니다. JavaScript는 크로스 플랫폼 및 크로스 브라우저 환경에서 사용 가능하고 백엔드 언어를 차별하지도 않습니다. 개발에 도움이 되는 다수의 훌륭한 라이브러리를 사용할 수 있지만, 때때로 이런 라이브러리가 원래 언어에서 제거되어 있어 초보 개발자들이 해당 언어에 대한 기초적 이해가 부족한 실정입니다. 시리즈 기사의 Part 2에 해당하는 본 기사에서는 Part 1에 이어 이벤트, try...catch 문, 쿠키 사용 및 타이밍 함수에 대한 기초 사항을 포함하여, JavaScript의 기초를 계속 설명합니다.

이 연재 자세히 보기

기사 게재일:  2011 년 10 월 17 일
난이도: 중급 원문:  보기 PDF:  A4 and Letter (44KB | 11 pages)Get Adobe® Reader®
페이지뷰:  1829 회
의견:  


"JavaScript 언어 시작하기" 시리즈의 첫 번째 기사에서는 스크립트 태그 작성부터 주석 사용, HTML 문서에 JavaScript 파일 포함, 변수 정의, 연산자 사용, 배열 정의, 조건문 사용, 함수 정의 및 루프 사용까지 다양한 필수 기초 사항을 다루었다. 본 기사에서는 초보자에게 이 언어의 기초적 이해에 도움을 주기 위해 기본적인 JavaScript 언어 개념을 추가로 설명함으로써 이전 기사에서 남겨두었던 주제를 다룬다. 본 기사에서 다루는 기초 사항을 통해 개발자가 사용하는 라이브러리와 어떤 라이브러리를 사용할 필요가 있는지에 관한 의사결정을 하는 방법을 더욱 깊이 이해할 수 있으며, 자체적으로 라이브러리를 작성할 수 있는 길도 모색해본다. 그 방법을 보여주기 위해 관련된 코드 예제가 제시되므로 이를 참고한다.

이벤트

이벤트는 JavaScript 언어로 웹 페이지에 어떤 유형의 대화식 작업이든 추가하기 위한 촉매 역할을 하는 것이다. 모든 HTML 요소에는 JavaScript 코드를 트리거하는 데 사용할 수 있는 연관 이벤트가 있다. 예를 들어, 하나의 입력 필드에 다수의 이벤트가 있을 수 있다. 누군가 입력 필드 안에서 클릭하거나 입력 필드로 탭 이동할 때 JavaScript 코드를 트리거하도록 focus 이벤트를 연관하거나, 포커스된 입력 필드 밖에서 클릭하거나 그 밖으로 탭 이동할 때 JavaScript 코드를 트리거하도록 blur 이벤트를 연관할 수 있다. 이벤트를 연관하고 나면 무궁무진한 가능성이 열린다. 예를 들어, blur 이벤트는 입력 필드에 유효한 데이터가 있는지 검사하는 JavaScript 코드를 트리거할 수 있고, 그런 데이터가 없는 경우에는 인라인 상태에서 메시지가 자동 피드백으로 표시될 수 있다. 다음 코드는 focusblur 이벤트를 사용하여 입력 필드에 기본 텍스트를 표시할 수 있는 방법을 보여주는 예제이다.

<input type="text" name="email" value="Enter your email address" 
   onfocus="this.value = '';" onblur="if(this.value == '') 
   this.value = 'Enter your email address';" />

여기서는 입력 필드에 기본값이 포함되어 있지만, 웹 브라우저에서 볼 때 입력 필드에 "Enter your email address"라는 텍스트가 표시된다. 사용자가 필드 내부를 클릭하거나 필드로 탭 이동할 때 이 기본 텍스트가 사라지도록 하려면 focus 이벤트를 사용하고 필드의 값을 빈 문자열로 설정한다. 사용자가 입력 필드 바깥쪽을 클릭하거나 그 밖으로 탭 이동하는 경우에는 blur 이벤트를 사용하여 기본 텍스트를 다시 표시하거나, 그렇지 않으면 사용자 정의 텍스트로 남겨둔다.

모든 HTML 요소에는 해당 요소와 연관된 이벤트가 있다. 표 1에는 가장 일반적인 몇 가지 HTML 요소와 각 요소와 연관된 이벤트가 정리되어 있다.


표 1. 일반적인 요소와 각 요소와 연관된 이벤트
요소이벤트
bodyonload, onunload
inputonfocus, onblur, onchange, onkeydown, onkeypress, onkeyup
formonsubmit
imgonmouseover, onmouseout, onclick

try...catch 및 throw

try...catch 문을 사용하면 브라우저로 오류를 보내거나 사용자 정의 오류를 표시하지 않고 코드에 오류가 있는지 테스트할 수 있다. try...catch 문 내부에 JavaScript 오류가 없으면 진행 중인 JavaScript 코드가 아무 것도 실행되지 않고 브라우저는 자체적으로 오류를 처리하고 표시하는 양식으로 남겨진다. 이 문의 try 부분을 사용하여 JavaScript 코드를 실행한다. catch 부분은 try 부분에서 발생했을 수 있는 오류를 처리한다. 어떤 브라우저에서는 작동하지 않을 수도 있는 코드를 실행할 때 이런 구조를 사용할 수 있다. 이 코드가 try...catch 문 내부에 있다면 코드에서 오류를 리턴하고 catch 부분에서 해당 오류를 처리하는 경우에는 그냥 실행되지 않는다. 사용자가 오류 발생 사실을 알 필요가 있느냐의 여부에 따라, 이 오류가 실제 오류 메시지일 수도 있고 아무런 역할을 하지 못할 수도 있다.

try...catch를 이용한 오류 처리

명령문의 catch 부분에는 오류 오브젝트에 대한 기본 매개변수도 포함되어 있다. 오류 오브젝트는 명령문의 try 부분에서 발생한 오류에 대한 관련 정보를 리턴한다. 오류 오브젝트에는 messageline이라는 두 개의 특성이 있다. message는 발생한 오류를 정확히 설명하는 텍스트를 제공하고, line은 해당 오류가 발생한 정확한 코드 행을 제공한다. 목록 1은 오류 오브젝트를 사용하여 메시지와 행에 대한 경보를 알리는 try...catch 문의 예제를 나타낸 것이다. 물론, 이 정보는 디버깅 상황에서만 유용하겠지만, 발생한 오류를 처리하기 위해 브라우저에 의존하지 않고 사용자에게 오류에 대한 피드백을 제공하려 할 때 이런 특성이 유용하게 쓰일 수 있다.


목록 1. try...catch 문에서 오류 오브젝트를 사용하여 오류 디버그
	
try
{
   // Attempt to execute code that produces an error here
}
catch(err)
{
   var txt = err.message +'\n';
   txt += err.line;
   alert(txt);
}

throw 문으로 오류 예외 작성

try...catch 생성으로 오류 처리 기능을 제공하지만, throw 문을 사용하여 한 단계 더 나아갈 수 있다. throw 문을 사용하여 일정한 조건을 기준으로 오류 예외를 작성할 수 있고, 이를 통해 정확하고 평이한 영어로 작성되어 사용자에게 더욱 친숙한 오류 메시지를 작성할 수 있는 완벽한 기회가 제공된다. 목록 2에서는 throw 문을 사용하여 try...catch 문의 try 부분에서 어떤 조건을 기준으로 오류 예외를 작성할 수 있는 방법을 간단한 예제로 보여준다.


목록 2. throw 문을 사용하여 오류 예외 작성
	
<script type="text/javascript">
var x=prompt("What type of music is Led Zeppelin?","");
try
{ 
   if(x != 'rock and roll')
   {
   throw "Err1";
   }
}
catch(er)
{
   if(er=="Err1")
   {
   alert("Sorry, you're wrong.");
   }
}
</script>

try, catchthrow는 모두 소문자로 쓴다. 대문자를 사용하면 JavaScript 오류가 발생한다.


팝업 상자 작성

JavaScript를 사용하여 여러 가지 유형의 팝업 상자를 작성할 수 있다. 여기서 설명하는 가장 일반적인 유형의 팝업 상자는 경보 상자, 확인 상자 및 프롬프트 상자이다.

경보 상자

대체로 원래 목적으로 사용되지는 않지만, 경보 상자는 페이지 오류, 경고 또는 기타 중요한 메시지를 빠르고 쉽게 표시할 수 있는 방법이다. 요즘은 경보 상자가 JavaScript 코드를 디버그하기 위한 방법으로 가장 흔히 사용되므로 여전히 자신의 위치를 지키고 있다고 말할 수 있을 것이다. 따라서 경보 상자를 원래 목적으로만 사용하는 것이 우수 사례를 따르는 것은 아니다. 또한, Mozilla Firefox, Apple Safari 또는 Google Chrome을 사용하는 경우 단순히 디버깅 목적으로 console.log 파일을 사용할 수 있다. 다른 점은 제쳐놓고서라도 경보가 유력한 대안이고 작업이 올바로 완료되도록 해주는 역할을 한다는 점이 중요한 점이다. 경보 상자를 작성하기는 매우 쉽다. 단순히 alert 함수를 한 행의 코드로 입력하고 이를 인수에 전달하면 된다. 그러면 인수에 전달한 것이 무엇이든 그 값을 포함한 창이 열린다. 예를 들어, 간단한 문자열을 입력하거나 경보를 사용하여 변수의 값을 인수로 전달함으로써 그 값을 표시할 수 있으며, 이는 alert를 디버깅에 사용할 수 있는 좋은 예다. 다음은 alert 함수를 사용하여 경보 상자를 생성할 수 있는 방법을 보여주는 기본적인 예제다.

alert("This can be a variable or a simple text string");

확인 상자

사용자가 웹 사이트에서 선택한 옵션을 확인하려면 확인 상자를 사용한다. 예를 들어, 본인이 웹 애플리케이션 개발자이고 사용자가 자신의 사용자 계정을 삭제하기로 선택한 경우 사용자가 선택 내용을 확인한 후 요청을 제출하는 단계로 진행할 수 있게 하는 것이 좋은 생각일 것이다.

일반적으로, 사용자가 자신이 선택한 사항 그대로 계속 진행할 것인지 확인한 다음 그 의사결정을 바탕으로 JavaScript 코드를 실행할지 판단하기 위해 confirm 함수가 조건문에 먼저 작성된다. 다음은 어떤 JavaScript 코드를 실행할지 결정하기 위해 어떤 조건에서 confirm 함수를 사용하는 예제이다.

if(confirm("Click for a response"))
{
    alert('You clicked OK');
}
else
{
    alert('You clicked Cancel');
}

프롬프트 상자

빠르게 질문을 하고 사용자가 답할 수 있도록 할 방법을 찾는다면, 프롬프트 상자가 제격이다. 일반적으로, 오늘날의 웹 개발자들은 사용자 정의 인라인 팝업 창을 선택하는 경향이 있다. 즉, 프롬프트는 여전히 존재하고 특히 디버깅 시 계속 자신의 위치를 지킨다. 프롬프트 상자 생성에 사용되는 prompt 함수는 두 개의 매개변수를 갖는다. 첫 번째 매개변수는 일반적으로 사용자에게 어떤 응답을 요구하는 질문 또는 명령문인 사용자 정의 텍스트 문자열이고, 두 번째 매개변수는 프롬프트 상자에 나타나는 텍스트 입력에 대한 기본값으로 사용되는 텍스트 문자열이다. 기본값은 선택적이며, 실행 시간 중에 이를 변경할 수 있다. 다음은 사용자에게 질문을 하는 데 사용되는 prompt 함수의 예제로서, prompt 함수에서의 리턴 값을 사용하여 경보 상자에 사용자의 응답을 표시한다.

var response=prompt("What is your favorite band?","Led Zeppelin");
if (response!=null && response!="")
{
   alert("response: "+ response);
}


쿠키 사용

쿠키는 JavaScript 코드가 이후에 검색하여 다시 사용할 수 있도록 클라이언트 측에 데이터를 저장하기 위해 존재한다. 사용자의 컴퓨터에 데이터를 저장하여 현명하게 사용하면 많은 이점이 있다. 쿠키를 사용하여 사용자의 경험을 사용자 정의하고, 이전의 조치를 바탕으로 사용자에게 정보를 표시할 방법을 결정할 수 있는 등의 이점이 있다. 쿠키 사용 예로는 방문자의 이름이나 이후에 웹 사이트에 표시하는 데 사용할 수 있는 기타 관련 정보를 저장하는 경우가 포함된다. 쿠키는 이름-값 쌍, 만기 날짜 및 이런 정보를 보내야 하는 대상 서버의 도메인과 경로를 포함한 방문자의 웹 브라우저에 저장되는 텍스트 파일이다.

쿠키 작성

쿠키 작성은 간단하다. 단순히 저장할 정보, 저장 기간 및 향후에 참조하기 위해 지정할 쿠키의 이름을 결정하기만 하면 된다. 하지만, 작성은 단순하더라도 구문은 약간 복잡하므로 쿠키가 제대로 작동하도록 하려면 올바로 작성해야 한다. 다음 코드는 쿠키를 작성하고 쿠키에 데이터를 저장하는 방법의 예제를 보여준다.

document.cookie =
  'cookiename=cookievalue; expires=Sat, 3 Nov 2001 12:30:10 UTC; path=/'

쿠키에 저장되는 문자열의 첫 파트는 이름-값 쌍, 즉 cookiename=cookievalue이다. 세미콜론(;)은 이 쌍을 두 번째 파트와 구분해준다. 문자열의 두 번째 파트는 알맞은 형식으로 된 만기 날짜이며, 그 뒤에 있는 세미콜론이 이 파트를 세 번째 파트이자 마지막 파트인 경로와 구분해준다.

쿠키에서 데이터 검색

쿠키에 데이터를 저장하려면 약간 복잡한 구문이 필요하지만, 이후에 간단하게 이름으로 쿠키 값을 검색할 수 있다. 다음은 이름으로 쿠키 값을 검색하는 방법이다.

alert(document.cookie);

이 코드는 현재 도메인에 대한 쿠키를 가져오지만, 두 개 이상의 쿠키가 한 도메인에 저장될 수 있고 document.cookie는 배열이다. 따라서 특정 쿠키의 값을 검색하려면 대상 값을 적절히 정해야 한다. 다행히도, 목록 3에 있는 사용자 정의 함수 덕분에 이는 쿠키 이름을 매개변수로 전달하고 쿠키의 값을 수신하는 것만큼 쉬운 일이다.


목록 3. 저장된 쿠키에서 데이터 검색
	
function getCookie(c_name)
{
var i,x,y;
var cookieArray = document.cookie.split(";");
for (i=0;i<cookieArray.length;i++)
{
  x = cookieArray[i].substr(0,cookieArray[i].indexOf("="));
  y = cookieArray[i].substr(cookieArray[i].indexOf("=")+1);
  x = x.replace(/^\s+|\s+$/g,"");
  if(x == c_name)
  {
	  return unescape(y);
	  }
	}
}
alert(getCookie('cookiename'));

여기서 알 수 있는 바와 같이, 쿠키는 강력한 기능을 제공하고 방문자를 위한 사용자 정의 환경을 만들거나 단순히 이후에 사용할 수 있는 데이터를 저장할 수 있는 토대를 제공한다.


타이밍

JavaScript는 특정 조치의 타이밍을 제어하고 설정할 수 있게 해주는 여러 가지 함수를 제공한다. 그 중에서 가장 공통적인 함수는 다음과 같다.

  • setInterval
  • clearInterval
  • setTimeout
  • clearTimeout

setInterval 함수

어떤 상황에서는 사용자 상호작용 없이 JavaScript 코드를 반복적으로 실행할 필요가 있다. setInterval 함수를 사용하면 손쉽게 반복 실행할 수 있다. setInterval은 두 개의 필수적 인수와 한 개의 선택적 인수를 취한다. 첫 번째 필수적 인수는 반복 실행할 코드이며, 두 번째 인수는 각 JavaScript 코드 실행 사이의 지속 시간을 정의하는 밀리초이다. 세 번째인 선택적 매개변수는 code 매개변수를 통해 이루어지는 함수 호출로 전달될 수 있는 인수이다. 간격으로 설정한 지속 시간이 밀리초로 정의되기 때문에 처음에는 약간 낯설 수 있다. 따라서 1초 간격으로 실행하려면 1000밀리초, 2초 간격은 2000밀리초와 같이 사용한다. 표 2에 setInterval 함수에 있는 각각의 매개변수와 그 역할이 나열되어 있다.


표 2. setInterval 함수에 사용 가능한 매개변수
매개변수필수적 또는 선택적 여부설명
code필수 setInterval 함수가 실행하는 JavaScript 코드로서, 이 코드는 사용자 정의 또는 함수 호출일 수 있다.
milliseconds필수 각 코드 실행 간의 지속 시간(밀리초)
argument선택사항함수가 code 매개변수로 사용될 때 함수로 인수를 전달하는 데 사용되는 유용한 매개변수이다.

다음 코드는 setInterval 함수를 사용하여 다른 함수를 10초마다 실행하고 그 함수로 인수를 전달하는 방법의 예제를 나타낸 것이다. 실행되는 함수 내에서 인수 값에 액세스할 수 있다. 이 예제에서와 같이, 이 인수는 변수, 오브젝트 또는 간단한 텍스트 문자열일 수 있다.

setInterval(myFunction, 10000, 'sample');
function myFunction(myArg)
{
   alert('myFunction argument value: '+ myArg);
}

간격을 종료하려는 경우 이를 위한 함수 역시 따로 있다.

clearInterval 함수

간격을 종료하려면 clearInterval 함수가 필요하다. 하지만, 원래 작성한 간격에는 이후에 이를 clearInterval로 참조하기 위한 변수 이름이 포함되어야 한다. 다음 코드는 clearInterval 함수가 원래 setInterval로 이전에 설정된 변수를 참조하는 방법을 보여주는 예제를 나타낸 것이다.

var myInterval = setInterval(myFunction, 10000, 'sample');
function myFunction(myArg)
{
   alert('myFunction argument value: '+ myArg);
   clearInterval(myInterval);
}

여기서 알 수 있는 것처럼, 원래 setInterval 함수에 변수 이름을 지정하고 그 이름을 myInterval로 지정했다. 그러면 이후에 myInterval을 사용하여 setInterval 함수를 참조하고 clearInterval 함수를 사용하여 변수를 변경하거나 원래 간격을 중지할 수 있다. 이 예제에서는 clearInterval 함수가 첫 번째 함수 호출에서 실행되므로 함수가 한 번만 호출된다.

setTimeout 함수

setTimeout 함수는 일정한 시간 제한조건을 바탕으로 코드나 다른 함수를 실행할 수 있다는 점에서 setInterval 함수와 유사하다. 매개변수도 setInterval에 대한 매개변수와 같다(표 2 참조). 하지만, setTimeout 함수는 코드를 반복적으로 실행하지 않고 한 번만 실행한다는 것이 큰 차이점이다. 다음은 setTimeout 함수를 사용하여 10초 후에 함수를 실행할 수 있는 방법을 보여주는 예제이다.

setTimeout(myFunction, 10000, 'sample');
function myFunction(myArg)
{
   alert('myFunction argument value: '+ myArg);
}

setTimeout은 어떤 코드를 실행하고 싶지만 즉시 실행하지는 않으려는 상황에서 유용하다. 본질적으로는 코드 실행을 지연하기 위한 방법이다.

clearTimeout 함수

어떤 이유 때문에 마음을 바꾸어 setTimeout 간격을 취소할 필요가 생긴 경우 clearInterval 함수가 그 작업을 처리할 수 있다. clearInterval 함수와 마찬가지로, 이후에 참조하고 clearTimeout 사용을 중지하기 위해 setTimeout에 변수 이름을 지정한다. 다음 코드는 clearTimeout을 사용하여 setTimeout 호출을 중지하는 방법을 보여주는 예제이다.

var myTimeout = setTimeout(myFunction, 10000, 'sample');
function myFunction(myArg)
{
   alert('myFunction argument value: '+ myArg);
   clearTimeout(myTimeout);
}

여기서는 원래 setTimeout 함수에 변수 이름을 지정하고 그 이름을 myTimeout으로 지정했다. 그러면 myTimeout을 사용하여 setTimeout 함수를 참조하고 clearInterval 함수를 사용하여 중지할 수 있다.


결론

이론의 여지는 있지만, JavaScript는 가장 인기 있는 프로그래밍 언어 중 하나이며 그 이유를 이제는 알 수 있을 것이다. 간단하지만 다양한 기능이 있는 이 스크립팅 언어는 매우 많은 가능성을 내포하고 있으며, 웹 사이트 방문자가 웹 페이지 다운로드 후 이 페이지와 상호작용할 수 있도록 하는 도구를 이 언어에서 제공한다는 사실이 매우 중요하다. 본 기사는 JavaScript 언어의 기초를 이해하기 위한 토대를 제공했으며, 다음 단계는 이런 개념을 실제로 적용하고 JavaScript 오브젝트를 탐색해보기 시작하는 것이다.


참고자료

교육

제품 및 기술

  • JavaScript 언어의 기초를 이해한 후, jQuery 라이브러리를 활용하면 개발 시간 단축에 큰 도움이 된다.

  • Dojo Toolkit는 오픈 소스 모듈형 JavaScript 라이브러리로서 교차 플랫폼의 JavaScript/Ajax 기반 애플리케이션과 웹 사이트를 신속하게 개발하는 데 유용하다.

  • 무료로 IBM 소프트웨어를 체험해보자. 평가판을 다운로드하고 온라인 평가판에 로그인하며 샌드박스 환경에서 제품으로 작업하거나 클라우드를 통해 이에 액세스하자. 100개 이상의 IBM 제품 체험판에서 선택하자.

토론

필자소개

Kris Hadlock

Kris Hadlock은 1996년부터 계약직 웹 개발자 및 설계자로 일했다. 그는 SPIN Magazine, IKEA, United Airlines, JP Morgan Chase, GoDaddy Software 및 Fire Mountain Gems와 같은 회사의 프로젝트에 참여한 경험이 있다. Kris는 Ajax for Web Application Developers(Sams) 및 The ActionScript Migration Guide(New Riders)의 저자일 뿐 아니라, Peachpit.com, InformIT.com,Practical Web Design 매거진을 포함한 다양한 웹 사이트와 설계 관련 잡지의 기사를 쓰고 칼럼니스트로 활동 중이기도 하다. 그 밖에도, Kris는 양식과 함수의 융합을 전문으로 하는 웹 디자인 및 소프트웨어 개발 스튜디오인 www.studiosedition.com의 창립자이다

잘못된 도움말 신고

부정사용 신고

감사합니다. 이 항목은 운영자가 관심을 표시했습니다.


잘못된 도움말 신고

부정사용 신고

제출실패 신고. 나중에 다시 실행해주세요.


디벨로퍼웍스 로그인


IBM ID가 필요하세요?
IBM ID를 잊으셨습니까?


비밀번호를 잊으셨습니까?
비밀번호 변경

developerWorks 이용 약관에 동의하시는 경우 제출을 클릭하십시오. 이용 약관.

 


developerWorks에 처음 로그인하면 developerWorks프로파일이 생성됩니다.귀하의 프로파일에서 동의하신 내용이 공개되지만 이 사항은 언제든지 변경 가능합니다. 귀하의 성명(숨김으로 체크되어 있어도 표시됩니다)과 디스플레이 이름은 게시한 컨텐츠나 사이트 엑세스시 표시됩니다.

화면상에 보여지는 닉네임을 정하세요.

처음 developerWorks에 로그인할 때 프로파일이 작성되므로, 이를 위해 디스플레이 이름을 선택해야 합니다. 선택하신 디스플레이 이름은 developerWorks에 게시한 컨텐츠에 표시됩니다.

3글자 이상 31글자 이하의 길이로 사용 가능합니다. dW커뮤니티 내에서는 보안상 이메일주소를 제외한 다른 이름을 지정하셔야 합니다.

3개의 &이나 대쉬를 포함해주시고 31글자내로 제한해주세요.


developerWorks 이용 약관에 동의하시는 경우 제출을 클릭하십시오. 이용 약관.

 


아티클 순위

의견

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=20
Zone=웹 개발
ArticleID=765736
ArticleTitle=JavaScript 언어 시작하기, Part 2: 이벤트, 쿠키, 타이밍 등
publish-date=10172011

태그

Help
검색 필드를 사용하여 My developerWorks 내에서 해당 태그가 사용된 모든 종류의 컨텐츠를 검색하십시오.

태그를 더 많이 보거나 적게 보기 위해 슬라이더 막대를 사용하십시오.

인기 태그는 특정 컨텐츠 존(예를 들어, 자바, 리눅스, WebSphere)의 최고 인기 태그를 보여줍니다.

내 태그는 특정 컨텐츠 존(예를 들어, 자바, 리눅스, WebSphere)의 귀하의 태그를 보여줍니다.

검색 필드를 사용하여 My developerWorks 내에서 해당 태그가 사용된 모든 종류의 컨텐츠를 검색하십시오. 인기 태그는 특정 컨텐츠 존(예를 들어, 자바, 리눅스, WebSphere)의 최고 인기 태그를 보여줍니다. 내 태그는 특정 컨텐츠 존(예를 들어, 자바, 리눅스, WebSphere)의 귀하의 태그를 보여줍니다.