이런 함수를 본적이 있을 것이다.
<a href="#" onclick="aaa(); return false;">Click</a>
onclick 안의 문장은 기본적으로 자바스크립트이다.
그런데 자바스크립트 뒤에 return false를 붙히는 이유는 무엇일까?
return false를 붙히면 기존에 있던 기능들이 없어진다.
<a > 함수를 클릭하면 원래는 href 로 이동하는 액션이 취해진다.
그렇지만 onclick 이벤트 핸들러를 걸어주면 onclick 을 먼저 쓰게 되고
href 로 이동하게 된다.
그렇지만 여기서 return false를 붙혀 준다면 원래 가지고 있는 기본 속성은 무시하게 된다.
즉 a 함수의 기본 속성인 링크의 기능이 수행 되지 않는다.
만약 이동할 것인지를 묻는 함수가 나온다면 다음과 같은 코드를 짜면 된다.

<a href="http://www.naver.com" onclick="return confirm('Are you sure you want to do that?');">Click Me</a>


또한 return 은 exit의 기능도 가지고 있다.
다음과 같은 코드를 짠다면
return 의 의미가 확실해 질것이다.


if(name=='') form.nm.focus(); return;
form.submit();

이름이 없으면 포커스를 맞춰주고 아니면 submit을 하는 간단한 소스코드이다.
여기서 return 이 없으면 어떻게 될까?
name=='' 일 지라도 포커스 실행 후 다시 아래로 내려가 form 을 실행하게 된다.
따라서 우리가 원하던 기능이 나오지 않는다.
이렇든 return 은 값을 반환한다는 의미로 쓰이지만 exit의 의미로도 자주 쓰인다



[출처] http://jhoonslife.tistory.com/195

+ Recent posts