불리언
true = 켜져있음
false = 꺼져있음
null = 비어있음
undefined = 변수가 메모리에 만들어져있고 인지하고 있지만 값이 없음
배열
const days = ["mon", "tue", "wed"];
days.push("thu");
객체(objects)
const player = {
name: "nico",
points : 10,
fat: true
};
player.lastname = "potato";
player.points = 15;
console.log(player.name, player["points"]);
함수(function)
코드를 어떤 코드를 캡슐화해서 그걸 계속 반복해서 사용할 수 있도록 하는 것
반복 실행 싶은 걸 만든다
()으로 함수를 실행한다.
()에 정보를 담아 보낸다.
function sayHello(name, age){
console.log(name, age)
}
sayHello("nico",10);
function plus(a,b){
console.log(a+b)
}
plus(1,2)
const player = {
name: "nico",
sayHello: function(name){
console.log("hello" + name);
},
};
console.log(player.name);
play.sayHello("nico");
결과 반환(Return)
const calculater = {
add : function (a,b){
return a+b;
}
const addResult = calculater.add(2,3);
if문 (조건문)
const age = parseInt(prompt("몇살이니?")); //숫자 또는 NaN으로 반환됨
if(isNaN(age)){ //true면 실행하고 아니면 else구문으로 넘어감
console.log("숫자를 입력해");
} else {
console.log("나이를 써서 고맙다");
}
HTML in Javascript
1. document 라는 객체는 JS에서 HTML파일을 불러올 수 있도록 도와준다
2. document의 함수 중에는 getElementById 라는 함수가 있는데,
이 함수가 HTML에서 id를 통해 element를 찾아준다 ex)document.getElementedById("idname")
const title = document.getElementById("title");
title.innerText = "Got you!";
console.log(title.className);
- getElementsByClassName() : 많은 element를 가져올때 씀(array를 반환)
- getElementsByTagName() : name을 할당할 수 있음(array를 반환)
- querySelector : element를 CSS selector방식으로 검색할 수 있음 (ex. h1:first-child)
단 하나의 element를 return해줌
한개만 아니라 동일한 하위요소를 가져오고 싶다면 querySelectorAll
⇒ hello란 class 내부에 있는 h1을 가지고 올 수 있다(id도 가능함)
- 첫번째 element만 가져옴
- 조건에 맞는 세개 다 가져오고 싶으면 querySelectorAll
⇒ 세개의 h1이 들어있는 array를 가져다 줌
- querySelector("#hello); 와 getElementById("hello"); 는 같은 일을 하는 것임
하지만 후자는 하위요소 가져오는 것을 못하므로 전자만 쓸거다
const title = document.querySelector("#hello form");
const title = document.getElementById("#hello");
* javascript가 document로 html을 불러올 수 있고 수정 추가도 가능하다*
1.불러오는 함수
querySelector/ querySelectorAll 이 유용하다.
2.사용자의 event를 listen해서 반응
addEventListener("event", function);
**이때 function에 실행 하는 () 기호는 쓰지 않는다. 우리가 원하는 건
이벤트 발생 시 함수가 실행 되는 것이기 때문에 ()를 임의로 쓰면 이벤트 발생 전에 실행됨.
3.바꿀 수 있는 property 중 style도 있다.
title.style.color = "blue"; 혹은
function changeColor() {title.style.color = "blue";}
title.addEventListener("click", changeColor); 처럼 쓸 수 있다.
const title = document.querySelector("div h1");
function handleTitleClick(){
const ranColor = ["blue","red","green","yellow","black"];
let num = Math.floor(Math.random() * ranColor.length);
title.style.color = ranColor[num];
}
title.addEventListener("click",handleTitleClick);
title.onclick = handleMouseEnter;
title.addEventListener(“mouseenter” , handleMouseEnter);
위에 두 코드는 동일하나 addEventListener를 선호하는 이유는
removeEventListener을 통해서 event listener을 제거할수있기 때문이다.
document에서 body,head,title 은 중요해서 언제든
ex) document.body 로 가져올수있지만
div나 h1 등 element 들은 querySelector getElementById등으로 찾아야한다.
ex) document.querySelector(“h1”);
//window는 기본제공
function handleWindowResize(){
document.body.style.backgroundColor = “tomato”;
}
function handleWindowCopy(){
alert(“copier”);
}
window.addEventListener(“resize”, handleWindowResize);
window.addEventListener(“copy”, handleWindowCopy);
1. element 찾기
2. event를 listen
3. 그 event에 반응하기
classList 우리가 class들의 목록으로 작업할수 있게끔 허용해준다.
className은 이전calss를 상관하지않고 모든걸 교체해 버린다.
classList를 이용하는건
js에서 건드리는건 HTML element가 가지고있는 또하나의 요소 사용하는 것이다.
= element의 class내용물을 조작하는 것을 허용한다는 뜻
contains은 우리가 명시한 class가 HTML element의 class에 포함되어 있는지 말해준다
toggle은 토큰이 존재하면 토큰제거
토큰존재 하지않으면 토큰 추가
ex)
toggle은 h1의 classList에 clicked class가 이미있는지 확인하여
만약있다면 toggle 이 clicked를 제거해준다
만약 class name이 존재하지 않는다면 toggle은 classname 추가
'코딩공부 > Java Script' 카테고리의 다른 글
알고리즘에서 자주 등장하는 배열함수 forEach, map, filter, reduce 정리 (0) | 2023.02.09 |
---|---|
자바스크립트 기초문법 정리(스파프타코딩클럽) (0) | 2022.11.21 |
객체지향 class 문법 (0) | 2022.11.17 |
자바스크립트 퀴즈1 (0) | 2022.11.02 |