<body>가 끝난 후에 <script type="text/javascript" src="prac.js"></script><body> 이전에 <script async type="text/javascript" src="prac.js"></script>var a = 5;
var b = 10;
console.log(`Fifteen is ${a + b} and
not ${2 * a + b}.`);
// "Fifteen is 15 and
// not 20."
//줄바꿈이 자동으로 되며, 수식의 결과를 $로 나타낼 수 있다.
const title = document.getElementById("title");
title.innerHTML = "hi!!"
//`.innerHTML` 사용으로 HTML 문서에서 작성했던 title을 바꿀 수 있다!!
console.dir(document) 로 무엇을 할 수 있는지 확인! (사용 가능한 JS 객체들 확인 가능하다)document.querySelector("선택자") CSS 선택자와 일치하는 노드의 첫 번째 자식 반환.DOM 객체.style.colors = 'red' 이 명령어로 색을 수정 가능!function handleResize(event) {
console.log(event); //event 객체를 호출함! (timestamp, path 등 포함..)
console.log("resized");
}
window.addEventListener("resize", handleResize);
//window.addEventListener("resize", handleResize());
//중요! 만약 이렇게 쓰면 함수가 즉시 호출이 되면서 resize 되지 않았는데도 handleResize를 호출함!!!
className : 새 class를 추가하면 기존 class가 삭제되고, 기존 class의 CSS가 적용되지 않는다. (빈 문자열을 할당하면 모든 class 삭제됨.) classList : 다른 element에 영향을 주지 않고 class를 추가하거나 제거할 수 있다. querySelector : 찾은 첫 번째 element 가져옴. 없으면 null
querySelectorAll : 선택자를 만족하는 모든 element 가져옴 (array 형태)
local storage로 유저의 브라우저에 정보를 저장할 수 있다!
local storage에 자바스크립트의 data(object)를 저장하면 읽을 수 없고, 오직 string만 바로 읽기 가능하다.
localStorage.setItem("toDos", []);
// [object Object] 로 나온다.
event의 default 동작
event.preventDefault (event의 기본 동작을 막음 ⇒ input에 적은 text가 사라지지 않음)
event.target (이벤트가 일어난 타겟의 html 반환)
"DOMContentLoaded" 이벤트는 브라우저가 완전히 로드 및 해석될 때 발생함.
document.addEventListener("DOMContentLoaded", function() {
...
});
async을 사용하면 비동기 방식으로 <script> 태그에 도달해도 브라우저가 HTML 요소를 멈추지 않고 계속 다운받음.
<script src="script.js" async></script>
<script async src="js/vendor/jquery.js"></script>
<script async src="js/script2.js"></script>
<script async src="js/script3.js"></script>async은 나머지 페이지가 나타나는 동안 스크립트들이 비동기 방식으로 다운되며 중단되지 않는다는 것만 보장한다. 스크립트의 다운이 끝나자마자 이를 실행.
구체적인 실행 순서는 보장하지 않는다.
<script defer src="js/vendor/jquery.js"></script>
<script defer src="js/script2.js"></script>
<script defer src="js/script3.js"></script>
defer는 다운로드 한 후 모든 스크립트와 내용이 다운되었을 때 실행되며, 순서가 보장된다. (jquery → script2 → script3)
== != 엄격(일치) 비교 ⇒ 두 피연산자가 다른 자료형이면 false 반환
=== !==
==은 강제로 자료형을 변환시키기 때문에 의도치 않은 결과가 발생할 수 있어 조심해야 한다.