테스트 사이트 - 개발 중인 베타 버전입니다

자바스크립트 명령어실행이 궁금합니다. 채택완료

그누초보님 9년 전 조회 5,640

안녕하세요! 오늘은 자바스크립트 명령실행에 관해 궁금한점이 있어서

이렇게 질문드리게 되었습니다.

 

우선 아래소스는 페이지를 새로고침하는 자바스크립트 소스인데요

 

</p><p><script type="text/javascript"></p><p>function reload() { </p><p>document.location.reload();     </p><p>}</p><p></script></p><p><input type="button" value="새로고침" onclick="reload()"></p><p>

 

위 소스에서는 스크립트를 정의하고 버튼에 스크립트 실행명령어를 넣는데요

꼭 위처럼 하지않아도

 

</p><p><input type="button" value="새로고침" onclick="document.location.reload();"></p><p>

 

또는

 

</p><p><input type="button" value="새로고침" onclick="javascript:document.location.reload();"></p><p>

 

이렇게 이 한줄로도 새로고침이 되는데 왜 첫번째 처럼 하는것인가요?

그리고 두번째 실행방법중  javascript: 를 하고 안하고의 차이는 무엇인가요?

 

 

그냥 소스만 퍼와서 쓰다가 문득 어떤방법이 더 웹표준(?)에 가까운가 생각하다가

마땅한 답변을 검색하지 못해 질문드려요 ( _ _ )

 

 

 

 

 

댓글을 작성하려면 로그인이 필요합니다.

답변 1개

채택된 답변
+20 포인트
p
9년 전

1번의 경우는 함수를 이용하는 것입니다.

2번과 3번은 함수 없이 바로 사용하는 경우이고요.

현재와 같이 간단한 경우는 굳이 함수를 사용할 필요는 없습니다.

하지만 구문이 긴 경우는 2와 3번 같이 바로 선언해서 사용하기는 곤란하고요.

1번 처럼 함수를 이용하셔야 합니다.

그리고 함수를 이용하면 좋은 이유는 동일한 자바스크립트 구문을 여러번 사용할 경우에 함수명만 지정해주면 반복적으로 사용할 수 있어서 유리합니다.

 

그리고, onclick같은 이벤트 헨들러는 자체적으로 자바스크립트를 사용할 수 있으므로 javascript: 부분을 굳이 사용할 필요가 없습니다.

a 태그 같은 경우는 자바스크립트를 사용할 경우는 바로 자바스크립트를 사용할 수 없어서 javascript: 라고 선언하고 사용하셔야 합니다. 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

그누초보님
9년 전
port 님 자세한 정리 감사해요^^
좀더 자바스크립트를 이해할수 있을것 같습니다~

항상 감사합니다^^

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인