π JavaScript μ½λ μ€ν μμ & μ€ν νμ΄λ° μ μ΄ λ°©λ²
JavaScriptλ λΈλΌμ°μ μμ HTMLμ ν΄μνλ©΄μ μ€νλλ€! κ·Έλ°λ° μ½λμ μ€ν μμλ₯Ό μλͺ» μ΄ν΄νλ©΄ μμκ³Ό λ€λ₯΄κ² λμνκ±°λ μ€λ₯κ° λ°μν μλ μλ€. π΅
κ·Έλμ JavaScriptμ μ€ν μμμ μ€ν νμ΄λ°μ μ μ΄νλ λ°©λ²μ μ 리ν΄λ³΄μλ€.
β 1. JavaScript μ½λ μ€ν μμ
JavaScriptλ HTMLμ μμμ μλλ‘ ν΄μνλ©΄μ μ€νλλ€.
πΉ κΈ°λ³Έμ μΈ μ€ν νλ¦
1οΈβ£ HTML(DOM) μμμ μλλ‘ ν΄μ
2οΈβ£ <script> νκ·Έλ₯Ό λ§λλ©΄ μ¦μ μ€ν (λκΈ° μ€ν)
3οΈβ£ $(document).ready() → DOMμ΄ μμ ν λ‘λλ ν μ€ν
4οΈβ£ window.onload → λͺ¨λ 리μμ€(CSS, μ΄λ―Έμ§ λ±) λ‘λ© ν μ€ν
5οΈβ£ μ΄λ²€νΈ 리μ€λ(pageshow, click λ±) μ€ν
π μ€ν μμ μμ
<!DOCTYPE html>
<html lang="ko">
<head>
<script>
console.log("1οΈβ£ head λ΄λΆ μ€ν¬λ¦½νΈ μ€ν");
</script>
</head>
<body>
<script>
console.log("2οΈβ£ body λ΄λΆ script μ€ν");
</script>
<script src="jquery.js"></script>
<script>
$(document).ready(function () {
console.log("3οΈβ£ document ready μ€ν (DOM μμ± ν)");
});
window.onload = function () {
console.log("4οΈβ£ window.onload μ€ν (μ΄λ―Έμ§, CSS λ± λͺ¨λ λ‘λ© ν)");
};
window.addEventListener("pageshow", function () {
console.log("5οΈβ£ pageshow μ€ν (μλ‘κ³ μΉ¨ λλ μΊμμμ 볡μ μ)");
});
</script>
</body>
</html>
πΉ μ€ν κ²°κ³Ό
1οΈβ£ head λ΄λΆ μ€ν¬λ¦½νΈ μ€ν
2οΈβ£ body λ΄λΆ script μ€ν
3οΈβ£ document ready μ€ν (DOM μμ± ν)
4οΈβ£ window.onload μ€ν (μ΄λ―Έμ§, CSS λ± λͺ¨λ λ‘λ© ν)
5οΈβ£ pageshow μ€ν (μλ‘κ³ μΉ¨ λλ μΊμμμ 볡μ μ)
β 2. JavaScript μ€ν μμ μ μ΄ λ°©λ²
JavaScriptμ μ€ν μμλ₯Ό μ‘°μ νκ³ μΆμ λλ λ€μ λ°©λ²μ μ¬μ©ν μ μμ΄. π
πΉμ¦μ μ€ν ν¨μ(IIFE)
ν λ²λ§ μ€νν΄μΌ νκ±°λ κ°μ₯ λ¨Όμ μ€νν΄μΌ νλ μ½λμ μ¬μ©!
- ν¨μ μ μΈκ³Ό λμμ μ€ν!
- μ μ λ³μ μ€μΌμ λ°©μ§ν μ μμ
- <head>μμ μ€ννλ©΄ λͺ¨λ JavaScript μ½λ μ€ κ°μ₯ λ¨Όμ μ€ν κ°λ₯!
π μ¦μ μ€ν ν¨μ μμ
(function () {
console.log("μ¦μ μ€ν ν¨μ μ€ν!");
})();
πΉsetTimeout() & setInterval()
νΉμ μκ° ν μ€ννκ±°λ λ°λ³΅ μ€νν λ μ¬μ©!
π μμ (1μ΄ ν μ€ν)
setTimeout(function() {
console.log("1μ΄ ν μ€ν!");
}, 1000);
π μμ (1μ΄λ§λ€ λ°λ³΅ μ€ν)
setInterval(function() {
console.log("1μ΄λ§λ€ μ€ν!");
}, 1000);
πΉ Promise & async/await
λΉλκΈ° μ²λ¦¬λ₯Ό μ μ΄!
π μμ (λΉλκΈ° API νΈμΆ ν μ€ν)
fetch("https://api.example.com/data")
.then(response => response.json())
.then(data => console.log("λ°μ΄ν° λ°μμ΄!", data))
.catch(error => console.error("μλ¬ λ°μ", error));
π async/await μμ (κ°λ μ±μ΄ λ μ’μ!)
async function fetchData() {
try {
let response = await fetch("https://api.example.com/data");
let data = await response.json();
console.log("λ°μ΄ν° λ°μμ΄!", data);
} catch (error) {
console.error("μλ¬ λ°μ", error);
}
}
fetchData();
β 3. μ€ν μμλ₯Ό νμ©ν μ΅μ ν μμ
π μλ‘κ³ μΉ¨ κ°μ§ ν 리λ€μ΄λ νΈ (IIFE νμ©)
(function () {
if (performance.getEntriesByType("navigation")[0].type === "reload") {
console.log("μλ‘κ³ μΉ¨ κ°μ§λ¨!");
window.location.href = "/home";
}
})();
π API νΈμΆ ν λ€μ μμ μ€ν (async/await νμ©)
async function getUserData() {
let userData = await fetchUserInfo();
console.log("μ μ λ°μ΄ν° νμΈ ν μ€ν!");
}
π― μ 리
β JavaScript μ€ν μμ
1οΈβ£ λΈλΌμ°μ κ° HTMLμ μμμ μλλ‘ ν΄μνλ©° <script> μ€ν
2οΈβ£ document.ready() → DOMμ΄ μμ±λ ν μ€ν
3οΈβ£ window.onload → λͺ¨λ 리μμ€(μ΄λ―Έμ§, CSS) λ‘λ© ν μ€ν
β JavaScript μ€ν μμ μ μ΄ λ°©λ²
- μ¦μ μ€ν ν¨μ(IIFE): κ°μ₯ λ¨Όμ μ€νλλλ‘ μ€μ κ°λ₯
- setTimeout / setInterval: μΌμ μκ° ν μ€ν
- Promise & async/await: λΉλκΈ° μμ μ ν¨μ¨μ μΌλ‘ μ²λ¦¬
'Frontend > javaScript' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
JSPμμ JavaScript λͺ¨λ μ¬μ©νκΈ° (0) | 2025.04.06 |
---|---|
[JavaScript] νΈμ΄μ€ν (Hoisting) (0) | 2024.07.05 |
iframe sesstion timeout (0) | 2023.10.13 |
[javaScript] file-saver νμΌ λ€μ΄λ‘λ (0) | 2023.10.02 |
checklist (vue3) (0) | 2023.07.20 |