bom's happy life

[JS] window.onload = function() λž€? λ³Έλ¬Έ

Deveolpment StudyπŸ—‚οΈ/Javascript

[JS] window.onload = function() λž€?

bompeach 2023. 9. 20. 10:10

window.onload = function()λž€?

- μžλ°”μŠ€ν¬λ¦½νŠΈμ—μ„œ νŽ˜μ΄μ§€κ°€ λ‘œλ“œλ˜λ©΄ μžλ™μœΌλ‘œ μ‹€ν–‰λ˜λŠ” μ „μ—­ μ½œλ°±ν•¨μˆ˜

- νŽ˜μ΄μ§€μ˜ λͺ¨λ“  μš”μ†Œλ“€μ΄ λ‘œλ“œλ˜μ–΄μ•Ό ν˜ΈμΆœλœλ‹€.

- ν•œ νŽ˜μ΄μ§€μ—μ„œ ν•˜λ‚˜μ˜ window.onload() ν•¨μˆ˜λ§Œ μ μš©λœλ‹€.

 

html λ‚΄μ˜ μš”μ†Œλ“€μ„ 움직일 수 μžˆλŠ” dom 객체λ₯Ό μ‘°μž‘ν•˜λŠ” 방식 λ•Œ javascriptλ₯Ό μ‚¬μš©ν•œλ‹€.

 

μœ„λ‘œλΆ€ν„° μ°¨λ‘€λŒ€λ‘œ μ½μ–΄λ“€μ΄λŠ” ν”„λ‘œκ·Έλž˜λ° λ³Έμ—°μ˜ μž‘λ™ 방식과, μ‹€ν–‰ 이전에 μ—λŸ¬ 체크λ₯Ό ν•˜μ§€ μ•Šκ³  μ‹€ν–‰ν•˜λŠ” 인터프리터 언어적 νŠΉμ„±μœΌλ‘œ 인해 μžλ°”μŠ€ν¬λ¦½νŠΈ μž‘μ„± μœ„μΉ˜μ— 따라 μ˜€μž‘λ™μ„ μΌμœΌν‚€κΈ°λ„ ν•œλ‹€.

 

λ°”λ‘œ μ΄λ•Œ window.onload() ν•¨μˆ˜λ₯Ό μ΄μš©ν•˜μ—¬ μ΄λŸ¬ν•œ μ˜€μž‘λ™μ„ 방지할 수 μžˆλ‹€.

 


μ‚¬μš©λ°©λ²• μ˜ˆμ‹œ!

 

head 뢀뢄에 μž‘μ„±λœ 슀크립트문이 μžˆλ‹€κ³  κ°€μ •ν•΄λ³΄μž.

<script>
   var B = document.getElementById('book');
   B.style.color = "blue"
</script>

<body>
   <p id="book">hello</p>
</body>

라고 μž‘μ„±λ˜μ–΄ μžˆμ„ λ•Œ, μŠ€ν¬λ¦½νŠΈλ¬Έμ„ λ§Œλ‚˜λ©΄ μžλ°”μŠ€ν¬λ¦½νŠΈ 엔진이 μŠ€ν¬λ¦½νŠΈλ¬Έμ„ νŒŒμ‹±ν•˜λ―€λ‘œ 아직 λ°”λ””λŠ” νŒŒμ‹±λ˜κΈ° 전이라 id 값을 μΈμ‹ν•˜μ§€ λͺ»ν•˜κ²Œ λœλ‹€.

 

μ΄λŸ¬ν•œ μ˜€μž‘λ™μ„ λ°©μ§€ν•˜κΈ° μœ„ν•΄μ„œ ν•΄λ‹Ή λ™μž‘μ„ onload() ν•¨μˆ˜ μ•ˆμ— λ„£λŠ”λ‹€.

<script>
window.onload = function() {
   var B = document.getElementById('book');
   B.style.color = "blue"
}
</script>

<body>
   <p id="book">hello</p>
</body>

 

 

μœ„μ™€ 같이 window.onloadλΌλŠ” ν•¨μˆ˜λ₯Ό μ˜€λ²„λΌμ΄λ”©(μž¬μ •μ˜) ν•΄μ£Όλ©΄ λ˜λŠ”λ° ν•΄λ‹Ή ν•¨μˆ˜ λ‚΄μ˜ μ½”λ“œ μŠ€ν¬λ¦½νŠΈλŠ” μ›ΉλΈŒλΌμš°μ € λ‚΄μ˜ λͺ¨λ“  μš”μ†Œκ°€ μ€€λΉ„κ°€ λ˜μ–΄μ•Ό 싀행이 λ˜λ„λ‘ ν•  수 μžˆλ‹€.

+ μ›ΉλΈŒλΌμš°μ € 자체λ₯Ό λ‹΄λ‹Ήν•˜λŠ” windowλΌλŠ” 객체가, μ›Ή λ¬Έμ„œλ₯Ό 뢈러올 λ•Œ, λ¬Έμ„œκ°€ μ‚¬μš©λ˜λŠ” μ‹œμ μ— μ‹€ν–‰λ˜λŠ” onloadλΌλŠ” ν•¨μˆ˜λ₯Ό λ‚΄κ°€ λ‹€μ‹œ μž¬μ •μ˜ ν•œλ‹€λŠ” κ°œλ…μ΄λ‹€.

 

 

window.onload 와 <body onload="">

νŽ˜μ΄μ§€μ˜ λͺ¨λ“  μš”μ†Œλ“€μ΄ λ‘œλ“œλ˜μ–΄μ•Ό 호좜되며 ν•œ νŽ˜μ΄μ§€μ— ν•˜λ‚˜μ˜ window.onload() ν•¨μˆ˜λ§Œ μ μš©λœλ‹€.

그리고 μΆ”κ°€λ‘œ window.onload와 <body onload="">λŠ” λ™μ‹œμ— μ‚¬μš© ν•  수 μ—†λ‹€.

<body onload="">κ°€ 싀행이 되면 window.onloadλŠ” 싀행이 λ˜μ§€ μ•ŠλŠ” λ¬Έμ œκ°€ μžˆλ‹€.

 

+ λ™μ‹œμ— μ‚¬μš©ν•˜λ €λ©΄ window::onload() μ΄λ ‡κ²Œ ν•˜λ©΄ λœλ‹€.

function window::onload() {
	μ‹œμž‘ μ‹œ 싀행될 λ‚΄μš©
}

μ‹€ν–‰μˆœμ„œλŠ” <body onload="">κ°€ λ¨Όμ € μ‹€ν–‰λ˜κ³ , κ·Έλ‹€μŒ window::onload()κ°€ μ‹€ν–‰λœλ‹€.