Math.floor(Math.random() * (To - From + 1) ) + From;
let date1 = new Date();
console.log(date1); //ํ์ฌ ์๊ฐ์ ์ถ๋ ฅ
let date2 = new Date(2023, 3, 15); //๋
์์ผ
//์ถ๋ ฅ๊ฐ : 2023-04-14T15:00:00.000Z
let date2_2 = new Date("2023-03-15"); //๋
์์ผ
//์ถ๋ ฅ๊ฐ : 2023-03-15T00:00:00.000Z
let diff9Hours = 1000 * 60 * 60 * 9; //9์๊ฐ
์น๋ธ๋ผ์ฐ์ ์์ ์ ๊ณตํ๋ ๊ฐ์ฒด ๋ชจ๋ธ
window ๊ฐ์ฒด์ ์์ฑ

๊ด๋ จ ๋ฉ์๋
open(๊ฒฝ๋ก, ์ด๋ฆ, ์์ฑ) : ๋ธ๋ผ์ฐ์ ์์ ์์ฐฝ์ ์ฐ๋ค.
scrollTo() : ์น๋ธ๋ผ์ฐ์ ์ ์คํฌ๋กค ์์น๋ฅผ ํน์ ์์น๋ก ์ด๋ํ๋ค.
scrollBy() : ์คํฌ๋กค์ ์์น๋ฅผ ํ์ฌ ์์น์์ ์๋ ์์น๋ก ์ด๋ํ๋ค.
<body>
<button onclick="openNew()" style="top:200px">์ฐฝ๋์ฐ๊ธฐ</button>
<button onclick="closeNew()" style="top:250px">์ฐฝ๋ซ๊ธฐ</button>
<button onclick="windowInfo()">์์ฑํ์ธ</button>
<button onclick="sclTo()" style="top:100px;">์คํฌ๋กคTo</button>
<button onclick="sclBy()" style="top:150px;">์คํฌ๋กคBy</button>
<script>
function openNew() {
window.open('https://www.naver.com', 'title', 'width=200, height=200, left=1600, top=200');
}
// alert('์๋ฆผ์ฐฝ ํ
์คํธ');
function closeNew() {
window.close();
}
function windowInfo() {
console.log(window.innerWidth);
console.log(window.innerHeight);
console.log(window.outerWidth);
console.log(window.outerHeight);
console.log(window.screenTop);
console.log(window.screenLeft);
console.log(window.screenX);
console.log(window.screenY);
console.log(window.scrollX);
console.log(window.scrollY);
}
function sclTo(){
// window.scrollTo(200,200);
window.scrollTo({left:200, top:200, behavior:'smooth'});
}
function sclBy(){
// window.scrollTo(200,200);
window.scrollTo({left:200, top:200, behavior:'smooth'});
// window.scrollBy(200, 200);
window.scrollBy({left:200, top:200, behavior:'smooth'});
}
</script>
</body>
V8์์ง : js๋ฅผ ์คํ์ํฌ ์ ์๋๋ก ๋ง๋ค์ด์ฃผ๋ ์์ง, Node.js๋ฅผ ์ค์นํ๋ฉด์ ์ค์น๊ฐ ๋์๋ค.
์์ฑํ ์ฝ๋๋ฅผ ์คํํ๋ฉด V8์์ง์ ํตํด์ console๋ก ๊ฒฐ๊ณผ๋ฅผ ๋ณด์ฌ์ค๋ค.
๋ธ๋ผ์ฐ์ ๊ฐ์ฒด๋ชจ๋ธ : ๋ธ๋ผ์ฐ์ ์ ์ํตํ๋ ์ฝ๋, ์ถ๋ ฅ๋๋ ๊ฒฐ๊ณผ๋ฅผ ๋ณด๊ธฐ์ํด์๋ htmlํ์ผ ๋ด์ script ํ๊ทธ ์์ ์ฝ๋๋ฅผ ์์ฑํ ํ ๋ธ๋ผ์ฐ์ ๋ฅผ ํตํด ์คํํ์ฌ ๊ฒฐ๊ณผ๋ฅผ ํ์ธํ๋ค.
์น ๋ธ๋ผ์ฐ์ ์ ํ์๋๋ ๋ฌธ์๋ฅผ ์๋ฐ์คํฌ๋ฆฝํธ๊ฐ ์ดํดํ ์ ์๋๋ก ๊ฐ์ฒดํํ ๋ชจ๋ธ ๊ตฌ์กฐ
๋ฉ์๋๋ก ๋
ธ๋ ์ ํํ๊ธฐ
getElementById()
getElementsByClassName()
getElementsByTagName()
querySelector()
querySelectorAll()
<p>pํ๊ทธ1</p>
<p>pํ๊ทธ2</p>
<div id="div1">๊ณ ์ ์์ด๋</div>
<div class="divcls">ํด๋์ค1</div>
<div class="divcls">ํด๋์ค2</div>
<div class="conatainer1" id="targetid">
<div class="indiv"></div>
<div class="indiv"></div>
<div class="indiv"></div>
</div>
<div class="container2">
<div class="indiv"></div>
</div>
<script>
const el1 = document.getElementById("div1");
const el2s = document.getElementsByClassName("divcls");
const el3s = document.getElementsByTagName("p");
const el2 = document.getElementById("targetid");
console.log(el1);
console.log(el2s);
console.log(el3s);
const qs1 = document.querySelector("#div1");
const qs2s = document.querySelectorAll(".divcls");
const qs3s = document.querySelectorAll(".indiv");
const qs4s = document.querySelectorAll(".container1 .indiv");
const qs5s = document.querySelectorAll("p");
console.log(qs1);
console.log(qs2s);
console.log(qs3s);
console.log(qs4s);
</script>
<p id="title">pTag๋ฌธ์, <span style="display: none;">Span ํ๊ทธ</span></p>
<script>
console.log(document.getElementById('title').textContent);
console.log(document.getElementById('title').innerText);
console.log(document.getElementById('title').innerHTML);
</script>
<p id="t1"></P>
<P id="t2"></P>
<P id="t3"></P>
<script>
document.querySelector('#t1').textContent = '<strong>textContent</strong> ์์ฑ';
document.querySelector('#t2').innerText = '<strong>textContent</strong> ์์ฑ';
document.querySelector('#t3').innerHTML = '<strong>textContent</strong> ์์ฑ';
document.querySelector('#t1').style.color = 'red';
const pt2 = document.querySelector('#t2');
pt2.style.color = 'blue';
const pt3 = document.getElementById('title');
pt3.style.fontSize = '30px'
</script>

<style>
.box {
width: 100px;
height: 100px;
border: 1px solid black;
}
.redbox {
background-color: red;
}
.bluebox {
background-color: blue;
}
.greenbox {
background-color: green;
}
</style>
<body>
<div id="box1" class="box"></div>
<div id="box2" class="box"></div>
<div id="box3" class="box"></div>
<div id="box4" class="box redbox"></div>
<script>
document.getElementById('box1').classList.add('redbox');
document.querySelector('#box2').classList.add('bluebox');
document.querySelector('#box3').classList.add('greenbox');
document.getElementById('box4').classList.remove('redbox');
</script>
</body>
<head>
<style>
.box {
width: 100px;
height: 100px;
border: 1px solid black;
}
.redbox {
background-color: red;
}
button {
color: white;
background-color: black;
}
</style>
</head>
<body>
<div id="box1" class="box"></div>
<div id="box2" class="box"></div>
<div id="box3" class="box"></div>
<div id="box4" class="box redbox"></div>
<button onclick="box4toggle()">๋ค๋ฒ์งธ ๋ฐ์ค ํ ๊ธ</button>
<script>
function box4toggle() {
document.getElementById('box4').classList.toggle('redbox');
}
</script>
</body>
<a href="https://www.naver.com" target="_blank">๋ค์ด๋ฒ๋ก ์ด๋</a>
<script>
const atag = document.querySelector('a');
console.log(atag.getAttribute("href"));
console.log(atag.getAttribute("target"));
atag.removeAttribute("href");
atag.setAttribute("href", "https://www.daum.net")
</script>
document.getElementById('box1').classList.add('redbox'); //ํด๋์ค ์ถ๊ฐํ๋ ๊ฒ
document.getElementById('box2').setAttribute("class", "box bluebox"); //ํด๋์ค ๊ฐ ์์ฒด๋ฅผ ๋ณ๊ฒฝํ๋ ๊ฒ
<body>
<div id="container">
<p id="p1">p1</p>
<p id="p2">p2</p>
</div>
<script>
const newEl = document.createElement("a");
const linkText = document.createTextNode("๋งํฌ๊ธ์");
const linkHref = document.createAttribute("href");
const linkTarget = document.createAttribute("target");
linkHref.value = "https://www.naver.com";
linkTarget.value = "_blank";
newEl.appendChild(linkText);
newEl.setAttributeNode(linkHref);
newEl.setAttributeNode(linkTarget);
document.body.appendChild(newEl);
const p2 = document.querySelector("#p2");
p2.parentNode.removeChild(p2);
</script>
</body>
<body>
<div id="container">
<p id="p1">p1</p>
<p id="p2">p2</p>
</div>
<script>
const p12 = document.querySelectorAll("#container p");
for(let i=0; i<p12.length; i++){
p12[i].parentNode.removeChild(p12[i]);
}
</script>
</body>