window객체를 복습하던 중에 일어난 일,,,
document.write("document.body : " + document.body);
를 실행시키면
이렇게 출력이 되어야 하는데
(분명 수업 시간에는 저렇게 나왔던 것 같은데)
나는 이렇게 자꾸 자꾸 null 값이 나오는 거임...
F12 돌려도 오류 뜨는 거 없고
혹시나 내 눈에만 보이지 않는 오타가 있는 걸까봐
수업시간에 했던 코드를 그대로 복사 붙여넣기를 해봤는데
여전히 null이야...
대체 왜...?
복붙해도 안되는 걸 보고 나서
이건 내가 잘못한 게 아닌 것 같다는 생각이 들어서
혹시 기도를 안해서?
열심히 구글링💍 했더니
원인 발견!
사실 검색하니까 바로 나왔음ㅎㅎ
<script>
태그를 쓸 때
<body>
태그 사이에 쓸 때도 있긴 하지만
보통은<head>
태그 사이에<title>
태그 밑에 넣었는데
그 자리에 쓰는 게 항상 맞는 게 아니라고 하더라
페이지가 시작되면서 같이 실행되는 코드도 있지만 페이지 로딩이 끝난 후에 실행되어야 하는 코드도 있는데 이 코드들이 실행될 때 페이지 로딩할 게 없으면null
오류가 나는 거였음
그치 아무래도 뭐가 있어야 실행을 할 거 아냐...
<body>
태그를 관리하는 객체인document.body
를<head>
태그 안에서 실행하게 되면<body>
태그에 접근하기 전이기 때문에 null 값이 나올 수 밖에 없었던 것!결론 : 위치가 틀렸다!
<head>
<title></title>
<script type="text/javascript">
document.write("document.body : " + document.body);
</script>
</head>
<head>
태그 안에 위치한 document.body
출력문을
<head>
<title></title>
</head>
<body>
<script type="text/javascript">
document.write("document.body : " + document.body);
</script>
</body>
이렇게
<body>
태그 안으로 옮겨주면!
정상적으로 출력됨!!😆😆😆