이 블로그는 방문자 통계를 위해 티스토리 기본 기능과 Woopra를 사용합니다. 원하지 않으신다면 사용하시는 웹 브라우저에 내장된 DNT 헤더를 켜고, JavaScript를 끄셔도 무방합니다.
이 블로그 방문자의 약 60%는 네이버 검색을 사용하십니다. 을 이용하시면 더 유용한 정보를 쉽게 얻게 되실 수도 있습니다. [mediatoday]
« 2018/10 »
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31      
블로그 이미지
제가 주제인 블로그... 그냥 주제 없는 블로그입니다. 전공 분야나 예전 관심 분야 등등에 관한 글이 우선입니다만, 두어 문단을 넘길 만한 글이라면 대강 정리해 기록합니다. 학부생입니다. 트위터에서 볼 수 있습니다. http://aurynj.net/ 어­리


JavaScript에는 import 기능이 없다.

알다시피 함수를 만들어 모듈화하는 것은 중요하다.
그 과정에서 소스가 길어지면 라이브러리를 몇 조각으로 쪼개게 되며,
한 파일에서 다른 파일을 불러와 함수를 사용할 필요가 있다.
파일 간에 의존성이 생기는 것이다.

C에 #include가 있듯이,
CSS에는 @import, PHP에는 @require나 @require_once, JSP에는 @include file이 있다.
그러나 JS에서는 이런 동적 링크 함수가 없어서,
HTML에서 직접 script 태그를 이용하지 않으면 추가가 안 된다.

그러나 직접 불러오는 것이 불가능하다면 HTML에 script 태그를 집어넣으면 된다.
실행문 중간에 넣으려면, 가장 간단한 형태는 다음과 같다.
document.write('<script type="text/javascript" src="첨부할 파일"></script>');
그러나 script 태그를 head의 하위에 넣을 것이 권고 사항이므로 이렇게 쓰는 것이 가장 나을 것이다.
function importScript(filename)
{
    document.getElementsByTagName('head').item(0).innerHTML
        += '<script type="text/javascript" src="' + filename + '"></script>'
}
정석대로라면 Element를 만들고 Attribute를 부여해서 appendChild를 써야 하지만 귀찮았다.

그리고,
  1. 당연히 이 함수 원본은 라이브러리에 있으면 안 된다.
  2. 다른 언어처럼 함수 밖에 그냥 쓰면 에러 먹는다. document.body.onload에 추가해 줘야 한다.