다음 메소드를 사용하면 특정 위치에 새로운 노드를 추가할 수 있다.
Method | Description |
---|---|
appendChild() | 새로운 노드를 해당 노드의 자식 노드 리스트(child node list)의 맨 마지막에 추가 |
insertBefore() | 새로운 노드를 특정 자식 노드 바로 앞에 추가 |
insertData() | 텍스트 노드의 텍스트 데이터에 새로운 텍스트를 추가 |
Method | Description |
---|---|
createElement() | 새로운 요소 노드 생성 |
createAttribute() | 새로운 속성 노드 생성 |
createTextNode() | 새로운 텍스트 노드 생성 |
Method | Description |
---|---|
removeChild() | 지정된 자식 노드 삭제 |
removeAttribute() | 지정된 속성을 요소에서 삭제 |
Method | Description |
---|---|
cloneNode() | 노드를 복제. 인자로 true 를 전달하면 모든 하위 노드까지 복제되며, false 는 해당 노드만 복제 |
Method | Description |
---|---|
nodeValue | 텍스트 노드의 값을 변경 |
setAttribute() | 속성값을 변경. 첫번째 인자는 속성 이름, 두번째 인자는 속성값 |
replaceChild() | 기존 요소 노드를 새로운 노드로 교체. (첫번째 인자는 새 노드, 두번째 인자는 교체될 노드) |
normalize() | 모든 텍스트 노드를 하나로 병합. 인접한 텍스트 노드가 있으면 하나의 노드로 병합 |
window 객체는 웹 브라우저의 창(window)을 나타내는 객체로, 대부분의 웹 브라우저에서 지원하고 있다.
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<title>JavaScript BOM Location Object</title>
</head>
<body>
<h1>현재 문서의 URL 주소</h1>
<script>
document.write("현재 문서의 URL 주소는 " + location.href + "입니다.<br>");
document.write("현재 문서의 호스트 이름은 " + location.hostname + "입니다.<br>");
document.write("현재 문서의 파일 경로명은 " + location.pathname + "입니다.<br>");
</script>
</body>
</html>
웹 브라우저가 알려주는 HTML 요소에 대한 사건의 발생을 의미
버블링(bubbling) 전파 방식
캡쳐링(capturing) 전파 방식
event.preventDefault()
를 이용하면 기본 동작을 취소할 수 있다.event.stopPropagation()
을 이용하면 이벤트의 전파를 중단할 수 있다.alert
와 confirm
함수는 실제로 window
객체의 메소드다.
JavaScript에서, 웹 브라우저의 window
객체는 전역 객체다. 따라서 window
객체의 프로퍼티와 메소드는 전역적으로 사용할 수 있다.
전역 객체
- 코드의 어떤 위치에서나 접근할 수 있는 객체
alert
나 confirm
과 같은 메소드를 호출할 때, window.
을 생략해도 자동으로 window
객체에서 해당 메소드를 찾아서 실행한다.
(window
객체가 JavaScript
코드에서 기본적으로 사용되는 전역 객체이기 때문)
따라서 window.alert("Hello World")
와 alert("Hello World")
는 동일하게 동작하고 같은 원리로 window.confirm("Are you sure?")
와 confirm("Are you sure?")
도 같은 동작을 한다.
document
는 window
의 프로퍼티이므로, document.alert
나 document.confirm
은 정의되어 있지 않다.
(alert
와 confirm
이 window
객체의 메소드이고, document
객체의 메소드가 아님!!)
한줄요약
정답:alert
,confirm
은 전역 메소드기 때문!!
본 후기는 정보통신산업진흥원(NIPA)에서 주관하는 <AI 서비스 완성! AI+웹개발 취업캠프 - 프론트엔드&백엔드> 과정 학습/프로젝트/과제 기록으로 작성 되었습니다.
#정보통신산업진흥원 #NIPA #AI교육 #프로젝트 #유데미 #IT개발캠프 #개발자부트캠프 #프론트엔드 #백엔드 #AI웹개발취업캠프 #취업캠프 #개발취업캠프