πŸ”₯ [UIUX] 0117 JAVASCRIPT Coding, μ½”λ”© μ΄ˆκΈ‰ 10

You_Jin.Β·2025λ…„ 1μ›” 18일
post-thumbnail

✏️ 2025. 1μ›” 17일 / javascript μ΄ˆκΈ‰ 10

β›… λΈŒλΌμš°μ € 객체에 λŒ€ν•΄ μ•Œμ•„λ΄…μ‹œλ‹€
μžλ°”μŠ€ν¬λ¦½νŠΈλ₯Ό μ‚¬μš©ν•˜λ©΄ νŠΉμ •ν•œ μ‚¬μ΄νŠΈλ‘œ μ΄λ™ν•˜κ±°λ‚˜ μƒˆ 탭을 μ—¬λŠ” λ“±
μ›Ή λΈŒλΌμš°μ €μ™€ κ΄€λ ¨λœ λ‹€μ–‘ν•œ κΈ°λŠ₯κ³Ό 효과λ₯Ό λ§Œλ“€ 수 μžˆμŠ΅λ‹ˆλ‹€.
μ›Ή λΈŒλΌμš°μ € 창에 λ¬Έμ„œκ°€ ν‘œμ‹œλ˜λŠ” μˆœκ°„ μ‚¬μš©μžλŠ” μ•Œ 수 μ—†μ§€λ§Œ
λΈŒλΌμš°μ €λŠ” html μ†ŒμŠ€λ₯Ό ν•œ 쀄씩 μ½μœΌλ©΄μ„œ 화면에 λ‚΄μš©μ„ ν‘œμ‹œν•˜κ³  κ΄€λ ¨λœ 객체듀을 μƒμ„±ν•©λ‹ˆλ‹€.
μ›Ή λΈŒλΌμš°μ €κ°€ 열리면 κ°€μž₯ λ¨Όμ € window λΌλŠ” 객체가 λ§Œλ“€μ–΄μ§€κ³ 
λ°‘μœΌλ‘œ ν•˜μœ„ μš”μ†Œμ— ν•΄λ‹Ήν•˜λŠ” 객체가 μƒμ„±λ©λ‹ˆλ‹€.
이 ν•˜μœ„ κ°μ²΄λž€ μ›Ή λ¬Έμ„œμ™€ μ£Όμ†Œ ν‘œμ‹œμ€„μ²˜λŸΌ λΈŒλΌμš°μ € μš”μ†Œμ— ν•΄λ‹Ήν•˜λŠ” 각각의 λ‹€λ₯Έ 객체듀을 λ§ν•©λ‹ˆλ‹€.
🌼 λΈŒλΌμš°μ €μ˜ 계측 ꡬ쑰
λΈŒλΌμš°μ €μ˜ κ°€μž₯ μ΅œμƒμœ„ κ°μ²΄λŠ” window μž…λ‹ˆλ‹€.
window κ°μ²΄λŠ” 'λΈŒλΌμš°μ €'λ₯Ό μ˜λ―Έν•˜λ©°
이 μ•ˆμ— λ‹€μ–‘ν•œ ν•˜μœ„ 객체λ₯Ό ν¬ν•¨ν•©λ‹ˆλ‹€.
ν•˜μœ„ 객체의 μ’…λ₯˜λ‘œλŠ” μ•„λž˜μ™€ κ°™μŠ΅λ‹ˆλ‹€.
1. location (μ£Όμ†Œμ€„)
2. document (λ¬Έμ„œμ˜μ—­)
3. navigator (운영체제)
4. history (방문기둝)
5. screen (해상도)
🌻 window의 ν”„λ‘œνΌν‹°(속성)
window κ°μ²΄λŠ” μ›Ή λΈŒλΌμš°μ €μ˜ μƒνƒœλ₯Ό μ œμ–΄ν•˜κ³ , μžλ°”μŠ€ν¬λ¦½νŠΈμ˜ μ΅œμƒμœ„μ— μ‘΄μž¬ν•©λ‹ˆλ‹€.
window 객체의 ν”„λ‘œνΌν‹°λ₯Ό μ‚¬μš©ν•˜λ €λ©΄ λ°˜λ“œμ‹œ window. 을 λ¨Όμ € λΆ™μ—¬μ€˜μ•Ό ν•©λ‹ˆλ‹€.

     [μ’…λ₯˜]
      1. document : λΈŒλΌμš°μ € 창에 ν‘œμ‹œλœ μ›Ή λ¬Έμ„œμ— μ ‘κ·Όν•  수 μžˆμŠ΅λ‹ˆλ‹€.
      2. frameElement : ν˜„μž¬ 창이 λ‹€λ₯Έ μš”μ†Œ μ•ˆμ— ν¬ν•¨λ˜μ–΄ μžˆμ„ 경우, κ·Έ μš”μ†Œλ₯Ό λ°˜ν™˜ν•˜κ³  
                        ν¬ν•¨λ˜μ–΄ μžˆμ§€ μ•Šμ€ 경우 null을 λ°˜ν™˜ν•©λ‹ˆλ‹€.
      3. innerHeight : λ‚΄μš© μ˜μ—­μ˜ 높이λ₯Ό λ‚˜νƒ€λƒ…λ‹ˆλ‹€.
                        즉, μŠ€ν¬λ‘€μ„ ν¬ν•¨ν•œ λ¬Έμ„œμ˜ 전체 높이λ₯Ό λ§ν•©λ‹ˆλ‹€.
                        paddingμ΄λ‚˜ border을 μ œμ™Έν•œ height의 컨텐츠 μ˜μ—­μ„ λ§ν•©λ‹ˆλ‹€.
      4. innerWidth : λ‚΄μš© μ˜μ—­μ˜ 넓이λ₯Ό λ‚˜νƒ€λƒ…λ‹ˆλ‹€. 
                      paddingμ΄λ‚˜ border을 μ œμ™Έν•œ width의 컨텐츠 μ˜μ—­μ„ λ§ν•©λ‹ˆλ‹€.
      5. localStorage : 췝 λΈŒλΌμš°μ €μ—μ„œ 데이터λ₯Ό μ €μž₯ν•˜λŠ” 둜컬 μŠ€ν† λ¦¬μ§€λ₯Ό λ‚˜νƒ€λƒ…λ‹ˆλ‹€.
      6. location : window 객체의 μœ„μΉ˜ λ˜λŠ” ν˜„μž¬ url 정보λ₯Ό λ‚˜νƒ€λƒ…λ‹ˆλ‹€.
      7. name : λΈŒλΌμš°μ € 창의 이름을 κ°€μ Έμ˜€κ±°λ‚˜ μˆ˜μ •ν•©λ‹ˆλ‹€.
      8. β˜… outerHeight : borderλ‚˜ padding을 ν¬ν•¨ν•œ λ¬Έμ„œμ˜ 총 높이λ₯Ό μ˜λ―Έν•©λ‹ˆλ‹€.
      9. β˜… outerWidth : borderλ‚˜ padding을 ν¬ν•¨ν•œ λ¬Έμ„œμ˜ 총 넓이λ₯Ό μ˜λ―Έν•©λ‹ˆλ‹€.
      10. β˜… pageXOffset : 슀크둀 ν–ˆμ„ λ•Œ μˆ˜ν‰μœΌλ‘œ μ΄λ™ν•˜λŠ” ν”½μ…€μˆ˜λ₯Ό μ˜λ―Έν•©λ‹ˆλ‹€. (=scrollX)
      11. β˜… pageYOffset : 슀크둀 ν–ˆμ„ λ•Œ 수직으둜 μ΄λ™ν•˜λŠ” ν”½μ…€μˆ˜λ₯Ό μ˜λ―Έν•©λ‹ˆλ‹€. (=scrollY)
      12. parent : ν˜„μž¬ μ°½μ΄λ‚˜ μ„œλΈŒ ν”„λ ˆμž„μ˜ λΆ€λͺ¨λ₯Ό λ§ν•©λ‹ˆλ‹€.
      13. β˜… screenX : λΈŒλΌμš°μ € 창의 μ™Όμͺ½ ν…Œλ‘λ¦¬κ°€ λͺ¨λ‹ˆν„° μ™Όμͺ½ ν…Œλ‘λ¦¬μ—μ„œ λ–¨μ–΄μ Έ μžˆλŠ” 거리λ₯Ό λ‚˜νƒ€λƒ…λ‹ˆλ‹€. (뷰포트 κΈ°μ€€)
      14. β˜… screenY : λΈŒλΌμš°μ € 창의 μœ„μͺ½ ν…Œλ‘λ¦¬κ°€ λͺ¨λ‹ˆν„° μœ„μͺ½μ—μ„œ λ–¨μ–΄μ Έ μžˆλŠ” 거리λ₯Ό λ‚˜νƒ€λƒ…λ‹ˆλ‹€. (뷰포트 κΈ°μ€€)
      15. sseionStorage : 둜컬 μŠ€ν† λ¦¬μ§€μ²˜λŸΌ μ›Ή λΈŒλΌμš°μ €μ— 데이터λ₯Ό μ €μž₯ν•˜λŠ” μ„Έμ…˜ μŠ€ν† λ¦¬μ§€λ₯Ό λ°˜ν™˜ν•©λ‹ˆλ‹€.

🌻 window의 ν”„λ‘œνΌν‹°(속성)
window κ°μ²΄λŠ” μ›Ή λΈŒλΌμš°μ €μ˜ μƒνƒœλ₯Ό μ œμ–΄ν•˜κ³ , μžλ°”μŠ€ν¬λ¦½νŠΈμ˜ μ΅œμƒμœ„μ— μ‘΄μž¬ν•©λ‹ˆλ‹€.
window 객체의 ν”„λ‘œνΌν‹°λ₯Ό μ‚¬μš©ν•˜λ €λ©΄ λ°˜λ“œμ‹œ window. 을 λ¨Όμ € λΆ™μ—¬μ€˜μ•Ό ν•©λ‹ˆλ‹€.

      [μ’…λ₯˜]
      1. document : λΈŒλΌμš°μ € 창에 ν‘œμ‹œλœ μ›Ή λ¬Έμ„œμ— μ ‘κ·Όν•  수 μžˆμŠ΅λ‹ˆλ‹€.
      2. frameElement : ν˜„μž¬ 창이 λ‹€λ₯Έ μš”μ†Œ μ•ˆμ— ν¬ν•¨λ˜μ–΄ μžˆμ„ 경우, κ·Έ μš”μ†Œλ₯Ό λ°˜ν™˜ν•˜κ³  
                        ν¬ν•¨λ˜μ–΄ μžˆμ§€ μ•Šμ€ 경우 null을 λ°˜ν™˜ν•©λ‹ˆλ‹€.
      3. innerHeight : λ‚΄μš© μ˜μ—­μ˜ 높이λ₯Ό λ‚˜νƒ€λƒ…λ‹ˆλ‹€.
                        즉, μŠ€ν¬λ‘€μ„ ν¬ν•¨ν•œ λ¬Έμ„œμ˜ 전체 높이λ₯Ό λ§ν•©λ‹ˆλ‹€.
                        paddingμ΄λ‚˜ border을 μ œμ™Έν•œ height의 컨텐츠 μ˜μ—­μ„ λ§ν•©λ‹ˆλ‹€.
      4. innerWidth : λ‚΄μš© μ˜μ—­μ˜ 넓이λ₯Ό λ‚˜νƒ€λƒ…λ‹ˆλ‹€. 
                      paddingμ΄λ‚˜ border을 μ œμ™Έν•œ width의 컨텐츠 μ˜μ—­μ„ λ§ν•©λ‹ˆλ‹€.
      5. localStorage : 췝 λΈŒλΌμš°μ €μ—μ„œ 데이터λ₯Ό μ €μž₯ν•˜λŠ” 둜컬 μŠ€ν† λ¦¬μ§€λ₯Ό λ‚˜νƒ€λƒ…λ‹ˆλ‹€.
      6. location : window 객체의 μœ„μΉ˜ λ˜λŠ” ν˜„μž¬ url 정보λ₯Ό λ‚˜νƒ€λƒ…λ‹ˆλ‹€.
      7. name : λΈŒλΌμš°μ € 창의 이름을 κ°€μ Έμ˜€κ±°λ‚˜ μˆ˜μ •ν•©λ‹ˆλ‹€.
      8. β˜… outerHeight : borderλ‚˜ padding을 ν¬ν•¨ν•œ λ¬Έμ„œμ˜ 총 높이λ₯Ό μ˜λ―Έν•©λ‹ˆλ‹€.
      9. β˜… outerWidth : borderλ‚˜ padding을 ν¬ν•¨ν•œ λ¬Έμ„œμ˜ 총 넓이λ₯Ό μ˜λ―Έν•©λ‹ˆλ‹€.
      10. β˜… pageXOffset : 슀크둀 ν–ˆμ„ λ•Œ μˆ˜ν‰μœΌλ‘œ μ΄λ™ν•˜λŠ” ν”½μ…€μˆ˜λ₯Ό μ˜λ―Έν•©λ‹ˆλ‹€. (=scrollX)
      11. β˜… pageYOffset : 슀크둀 ν–ˆμ„ λ•Œ 수직으둜 μ΄λ™ν•˜λŠ” ν”½μ…€μˆ˜λ₯Ό μ˜λ―Έν•©λ‹ˆλ‹€. (=scrollY)
      12. parent : ν˜„μž¬ μ°½μ΄λ‚˜ μ„œλΈŒ ν”„λ ˆμž„μ˜ λΆ€λͺ¨λ₯Ό λ§ν•©λ‹ˆλ‹€.
      13. β˜… screenX : λΈŒλΌμš°μ € 창의 μ™Όμͺ½ ν…Œλ‘λ¦¬κ°€ λͺ¨λ‹ˆν„° μ™Όμͺ½ ν…Œλ‘λ¦¬μ—μ„œ λ–¨μ–΄μ Έ μžˆλŠ” 거리λ₯Ό λ‚˜νƒ€λƒ…λ‹ˆλ‹€. (뷰포트 κΈ°μ€€)
      14. β˜… screenY : λΈŒλΌμš°μ € 창의 μœ„μͺ½ ν…Œλ‘λ¦¬κ°€ λͺ¨λ‹ˆν„° μœ„μͺ½μ—μ„œ λ–¨μ–΄μ Έ μžˆλŠ” 거리λ₯Ό λ‚˜νƒ€λƒ…λ‹ˆλ‹€. (뷰포트 κΈ°μ€€)
      15. sseionStorage : 둜컬 μŠ€ν† λ¦¬μ§€μ²˜λŸΌ μ›Ή λΈŒλΌμš°μ €μ— 데이터λ₯Ό μ €μž₯ν•˜λŠ” μ„Έμ…˜ μŠ€ν† λ¦¬μ§€λ₯Ό λ°˜ν™˜ν•©λ‹ˆλ‹€.

🌱 window 객체 λ©”μ„œλ“œ
window 객체의 λ©”μ„œλ“œλŠ” λŒ€ν™” μ°½(prompt같은 μ°½)을 ν‘œμ‹œν•˜κ±°λ‚˜
λΈŒλΌμš°μ € 창의 ν¬κΈ°λ‚˜ μœ„μΉ˜λ₯Ό μ•Œμ•„λ‚΄κ³ μž ν•  λ•Œ μ‚¬μš©ν•©λ‹ˆλ‹€.
window의 λ©”μ„œλ“œλŠ” κΈ°λ³Έ 객체이기 λ•Œλ¬Έμ— window.을 μƒλž΅ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

      [μ’…λ₯˜]
      1. alert() : κ²½κ³  λ©”μ„Έμ§€λ‚˜ μ•Œλ¦Ό λ‚΄μš©μ„ ν‘œμ‹œν•˜λŠ” μ°½μž…λ‹ˆλ‹€. (μš”μƒˆλŠ” 잘 μ“°μ§€ μ•ŠμŒ)
      2. blur() : ν˜„μž¬ μ°½μ—μ„œ 포컀슀λ₯Ό ν•΄μ œν•©λ‹ˆλ‹€.
      3. close() : ν˜„μž¬ 창을 λ‹«μŠ΅λ‹ˆλ‹€.
      4. confirm() : 확인 μ·¨μ†Œ 창을 λ§ν•©λ‹ˆλ‹€.
      5. focus() : ν˜„μž¬ 창에 포컀슀λ₯Ό λΆ€μ—¬ν•©λ‹ˆλ‹€.
      6. moveBy() : ν˜„μž¬ 창을 μ§€μ •ν•œ 크기만큼 μ΄λ™ν•©λ‹ˆλ‹€. (νŒμ—…μ°½μ˜ μœ„μΉ˜)
      7. moveTo() : ν˜„μž¬ 창을 μ§€μ •ν•œ μ’Œν‘œλ‘œ μ΄λ™μ‹œν‚¬ λ•Œ μ‚¬μš©ν•©λ‹ˆλ‹€.
      8. open() : μƒˆλ‘œμš΄ 창을 μ—½λ‹ˆλ‹€.
      9. postMessage : λ©”μ„Έμ§€λ₯Ό λ‹€λ₯Έ 창으둜 μ „λ‹¬ν• λ•Œ μ‚¬μš©ν•©λ‹ˆλ‹€.
      10. print() : ν˜„μž¬ λ¬Έμ„œλ₯Ό 인쇄할 λ•Œ μ‚¬μš©ν•©λ‹ˆλ‹€.
      11. prompt() : μ‚¬μš©μžκ°€ μž…λ ₯ν•œ ν…μŠ€νŠΈλ₯Ό λ°˜ν™˜ν•©λ‹ˆλ‹€.
      12. resizeBy() : μ§€μ •ν•œ 크기만큼 ν˜„μž¬ 창의 크기λ₯Ό μ‘°μ ˆν•©λ‹ˆλ‹€.
      13. resizeTo() : λ™μ μœΌλ‘œ λΈŒλΌμš°μ € 창의 크기λ₯Ό μ‘°μ ˆν•©λ‹ˆλ‹€.
      14. sizeToContent() : λ‚΄μš©μ— 맞게 창의 크기λ₯Ό μ‘°μ ˆν•©λ‹ˆλ‹€.
      15. stop() : λ‘œλ”©μ„ μ€‘μ§€ν•©λ‹ˆλ‹€.

β˜€οΈ 도전 μ‹€μŠ΅ ! open λ©”μ„œλ“œλ‘œ νŒμ—…μ°½ λ§Œλ“€κΈ°
openλ©”μ„œλ“œλ₯Ό μ΄μš©ν•˜λ©΄ νŒμ—…μ°½μ„ μ—΄ 수 μžˆμŠ΅λ‹ˆλ‹€.

     [κΈ°λ³Έν˜•]
     open('url경둜', "μƒˆ μ°½ 이름", "μƒˆ μ°½ μ˜΅μ…˜")



⭐ μΌμ •ν•œ κ°„κ²©μœΌλ‘œ μ½”λ“œλ₯Ό μ‹€ν–‰ν•΄λ΄…μ‹œλ‹€
μΌμ •ν•œ κ°„κ²©μœΌλ‘œ μ½”λ“œλ₯Ό μ‹€ν–‰ν•˜λŠ” μ½”λ“œλ‘œλŠ”
setInterval()κ³Ό setTimeout()λ©”μ„œλ“œκ°€ μžˆμŠ΅λ‹ˆλ‹€.
setInterval()은 μΌμ •ν•œ μ‹œκ°„ κ°„κ²©μœΌλ‘œ μ½”λ“œλ₯Ό 반볡 μ‹€ν–‰ν•©λ‹ˆλ‹€.
setTimeout()은 μΌμ •ν•œ μ‹œκ°„ 이후에 μ½”λ“œλ₯Ό ν•œ 번 μ‹€ν–‰ν•˜κ³  μžλ™μœΌλ‘œ μ’…λ£Œν•©λ‹ˆλ‹€.
⭐ setInterval() / clearInterval()
setInterval()은 μΌμ •ν•œ μ‹œκ°„ κ°„κ²©μœΌλ‘œ μ½”λ“œλ₯Ό λ¬΄ν•œνžˆ λ°˜λ³΅μ‹€ν–‰ν•©λ‹ˆλ‹€.
setInterval()을 λ©ˆμΆ”κ³  ν•΄μ œν•˜κ³  μ‹Άλ‹€λ©΄ clearInterval()을 μ‚¬μš©ν•©λ‹ˆλ‹€.
λ³€μˆ˜μ— λ„£μ–΄μ„œ μ‚¬μš©ν•΄μ•Ό ν•©λ‹ˆλ‹€.

      [κΈ°λ³Έν˜•]
      1. var μ°Έμ‘°λ³€μˆ˜ = setInterval(function(){μ½”λ“œ}, μ‹œκ°„κ°„κ²©(ms));
      2. var μ°Έμ‘°λ³€μˆ˜ = setInterval('μ½”λ“œ', μ‹œκ°„κ°„κ²©(ms))
      3. clearInterval(μ°Έμ‘° λ³€μˆ˜);

⭐ setTimeout() / clearTimeout()
setTimeout() λ©”μ„œλ“œλŠ” 일정 μ‹œκ°„μ΄ μ§€λ‚˜λ©΄ μ½”λ“œλ₯Ό ν•œ 번 μ‹€ν–‰ν•˜κ³  μ’…λ£Œν•©λ‹ˆλ‹€.
setTimeout() λ©”μ„œλ“œλ₯Ό 쑰금만 μ‘μš©ν•˜λ©΄ setInterval λ©”μ„œλ“œμ²˜λŸΌ μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
clearTimeout()은 setTimeout()λ©”μ„œλ“œλ₯Ό μ’…λ£Œν•  λ•Œ μ‚¬μš©ν•©λ‹ˆλ‹€.
setTimeout()처럼 ν•œλ²ˆλ§Œ μ‹€ν–‰ν•˜λŠ” λ©”μ„œλ“œλ₯Ό 계속 ν˜ΈμΆœν•˜μ—¬ 끝없이 μ‹€ν–‰μ‹œν‚€λŠ” 것을
'μž¬κ·€ ν•¨μˆ˜ 호좜'이라고 ν•©λ‹ˆλ‹€.

      [κΈ°λ³Έν˜•]
      1. var μ°Έμ‘°λ³€μˆ˜ = setTimeout(function(){μ½”λ“œ}, μ‹œκ°„κ°„κ²©(ms));
      2. var μ°Έμ‘°λ³€μˆ˜ = setTimeout('μ½”λ“œ', μ‹œκ°„κ°„κ²©(ms))
      3. clearTimeout(μ°Έμ‘° λ³€μˆ˜);
      var addNum = 0;
      var subNum = 1000;
      //2μ΄ˆλ§ˆλ‹€ μ½”λ“œλ₯Ό 반볡 μ‹€ν–‰ν•˜κ² μŠ΅λ‹ˆλ‹€.
      //auto1 > setInterval을 κ°€μ§€κ³  μžˆλŠ” λ³€μˆ˜
      var auto1 = setInterval(function () {
        addNum++;
        console.log("addNum :" + addNum);
      }, 2000);
      //2μ΄ˆλ§ˆλ‹€ μ½”λ“œλ₯Ό 반볡 μ‹€ν–‰ν•˜λ©° subNum을 1μ”© κ°μ†Œμ‹œν‚΅λ‹ˆλ‹€.
      //auto2 > setInterval을 κ°€μ§€κ³  μžˆλŠ” λ³€μˆ˜
      var auto2 = setInterval(function () {
        subNum--;
        console.log("subNum :" + subNum);
      }, 2000);
      //setTimeout은 μ½”λ“œλ₯Ό ν•œ 번 μ‹€ν–‰ν•˜κ³  μ’…λ£Œν•©λ‹ˆλ‹€.
      var addNum2 = 0;
      var auto3 = setTimeout(function () {
        addNum2++;
        document.write(`addNum2 : ${addNum2}`);
      }, 5000);

πŸŒ‚ λΈŒλΌμš°μ € 객체 - history 객체
history κ°μ²΄λŠ” μ‚¬μš©μžκ°€ λ°©λ¬Έν•œ μ‚¬μ΄νŠΈμ˜ 기둝을 남기고,
이전 λ°©λ¬Έ μ‚¬μ΄νŠΈμ™€ λ‹€μŒ λ°©λ¬Έ μ‚¬μ΄νŠΈλ‘œ λ‹€μ‹œ λŒμ•„κ°ˆ 수 μžˆλŠ” λ©”μ„œλ“œλ₯Ό μ œκ³΅ν•©λ‹ˆλ‹€.

    [κΈ°λ³Έν˜•]
    history.속성;
    history.λ©”μ„œλ“œ(); > λ©”μ„œλ“œλ₯Ό μ‹€ν–‰ν•©λ‹ˆλ‹€.
    history.λ©”μ„œλ“œ(κ°’); > λ©”μ„œλ“œλ₯Ό μ‹€ν–‰ν•  λ•Œ 값을 μ „λ‹¬ν•˜μ—¬ μ‹€ν–‰μ‹œν‚΅λ‹ˆλ‹€.
    [λ©”μ„œλ“œ]
    1. history.back();
    : λ°”λ‘œ 이전에 λ°©λ¬Έν–ˆλ˜ νŽ˜μ΄μ§€λ‘œ μ΄λ™ν•©λ‹ˆλ‹€.
      history.back(3) 처럼 μˆ«μžκ°€ λ“€μ–΄κ°€λ©΄ ν•΄λ‹Ή 숫자만큼 이전에 λ°©λ¬Έν–ˆλ˜ νŽ˜μ΄μ§€λ‘œ μ΄λ™ν•©λ‹ˆλ‹€.
    2. history.forward();
    : μ•žμœΌλ‘œ κ°€κΈ°, λ‹€μŒ λ°©λ¬Έ μ‚¬μ΄νŠΈλ‘œ μ΄λ™ν•©λ‹ˆλ‹€. ()μ•ˆμ— μˆ«μžκ°€ λ“€μ–΄κ°€λ©΄ 숫자만큼 μ•žμœΌλ‘œ μ΄λ™ν–ˆλ˜ νŽ˜μ΄μ§€λ‘œ μ΄λ™ν•©λ‹ˆλ‹€.
    3. history.go(음수 λ˜λŠ” μ–‘μˆ˜);
    : ()μ•ˆμ— μŒμˆ˜κ°€ λ“€μ–΄κ°€λ©΄ λ’€λ‘œκ°€κΈ°, μ–‘μˆ˜κ°€ λ“€μ–΄κ°€λ©΄ μ•žμœΌλ‘œ κ°€κΈ° μž…λ‹ˆλ‹€.
    [ν”„λ‘œνΌν‹°]
    history.length : λ°©λ¬Έ 기둝에 μ €μž₯된 λͺ©λ‘μ˜ 개수λ₯Ό λ°˜ν™˜ν•©λ‹ˆλ‹€.

πŸŒ‚ λΈŒλΌμš°μ € 객체 - location 객체
location κ°μ²΄λŠ” μ£Όμ†Œ ν‘œμ‹œμ€„μ— μžˆλŠ” κΈ°λŠ₯κ³Ό 속성을 μ œκ³΅ν•˜λŠ” κ°μ²΄μž…λ‹ˆλ‹€.
ν˜„μž¬ url에 λŒ€ν•œ 정보와 μƒˆλ‘œκ³ μΉ¨ λ©”μ„œλ“œ 등이 μžˆμŠ΅λ‹ˆλ‹€.

      [κΈ°λ³Έν˜•]
      - location.속성; > ν˜„μž¬ 속성 값을 μ•Œκ³  싢을 λ•Œ
      - location.속성 = κ°’; > 속성 값을 λ‹€λ₯Έ κ°’μœΌλ‘œ λ³€κ²½ν•  λ•Œ
      - location.λ©”μ„œλ“œ; > κΈ°λŠ₯을 μ‹€ν–‰ν•  λ•Œ
      [ν”„λ‘œνΌν‹°]
      1. location.href
      : url μ£Όμ†Œλ₯Ό λ°”κΎΈκ±°λ‚˜ ν˜„μž¬ url μ£Όμ†Œλ₯Ό λ°˜ν™˜ν•©λ‹ˆλ‹€.
      2. location.hash
      : url의 ν•΄μ‹œκ°’(#에 λͺ…μ‹œλœ κ°’)을 λ°˜ν™˜ν•©λ‹ˆλ‹€.
      3. location.hostname
      : url의 호슀트 이름을 μ„€μ •ν•˜κ±°λ‚˜ λ°˜ν™˜ν•©λ‹ˆλ‹€.
      ex) https://www.naver.com:80/
      4. location.host
      : url의 호슀트 이름(μ„œλ²„μ£Όμ†Œ)κ³Ό 포트번호λ₯Ό λ°˜ν™˜
      5. location.protocol
      : url의 ν”„λ‘œν† μ½œμ„ λ°˜ν™˜ν•©λ‹ˆλ‹€.
      [λ©”μ„œλ“œ]
      location.reload : νŽ˜μ΄μ§€λ₯Ό μƒˆλ‘œκ³ μΉ¨ ν•œλ‹€.

πŸŒ‚ λΈŒλΌμš°μ € 객체 - navigator 객체
navigatorκ°μ²΄λŠ” ν˜„μž¬ λ°©λ¬Έμžκ°€ μ‚¬μš©ν•˜λŠ” λΈŒλΌμš°μ €μ˜ 정보와 운영체제의 정보λ₯Ό μ œκ³΅ν•˜λŠ” κ°μ²΄μž…λ‹ˆλ‹€.

    [κΈ°λ³Έν˜•]
    navigator.속성;
    [ν”„λ‘œνΌν‹°]
    1. navigator.appCodeName : ν˜„μž¬ λΈŒλΌμš°μ €μ˜ μ½”λ“œλͺ…을 λ°˜ν™˜ν•©λ‹ˆλ‹€. ν˜„ μ‹œμ μ˜ λͺ¨λ“  λΈŒλΌμš°μ €λŠ” "Mozilla"λ₯Ό λ°˜ν™˜ν•©λ‹ˆλ‹€.
    2. navigator.appName : ν˜„μž¬ λΈŒλΌμš°μ €μ˜ 이름을 λ°˜ν™˜ν•©λ‹ˆλ‹€.  ν˜„ μ‹œμ μ˜ λͺ¨λ“  λΈŒλΌμš°μ €λŠ” "Netscape"λ₯Ό λ°˜ν™˜ν•©λ‹ˆλ‹€.
    3. navigator.appVersion : ν˜„μž¬ λΈŒλΌμš°μ €μ˜ 버전 정보λ₯Ό λ°˜ν™˜ν•©λ‹ˆλ‹€.
    4. navigator.language : ν˜„μž¬ λΈŒλΌμš°μ €μ— μ„€μ •λœ μ–Έμ–΄λ₯Ό λ°˜ν™˜ν•©λ‹ˆλ‹€. ν•œκ΅­μ–΄μ˜ 경우 koλ₯Ό λ°˜ν™˜ν•©λ‹ˆλ‹€.
    5. navigator.product : λΈŒλΌμš°μ €μ˜ μ—”μ§„ 이름을 λ°˜ν™˜ν•©λ‹ˆλ‹€. 크둬의 경우 'Gecko'λ₯Ό λ°˜ν™˜ν•©λ‹ˆλ‹€.
    6. navigator.platform : μ»΄ν“¨ν„°μ˜ 운영체제 정보λ₯Ό λ°˜ν™˜ν•©λ‹ˆλ‹€. 
    μš΄μ˜μ²΄μ œκ°€ window이고, μ‹œμŠ€ν…œ μ’…λ₯˜κ°€ 64λΉ„νŠΈλΌλ„ λΈŒλΌμš°μ €κ°€ 32λΉ„νŠΈλ‘œ μ„€μΉ˜κ°€ λ˜μ—ˆμœΌλ©΄ win32둜 λ‚˜μ˜΅λ‹ˆλ‹€.
    7. navigator.userAgent : μƒλ‹¨μ˜ λͺ¨λ“  속성을 μ’…ν•©μ μœΌλ‘œ λ°˜ν™˜ν•©λ‹ˆλ‹€. λΈŒλΌμš°μ € 운영체제 정보λ₯Ό λ‚˜νƒ€λƒ…λ‹ˆλ‹€.

πŸŒ‚ λΈŒλΌμš°μ € 객체 - screen 객체
screen κ°μ²΄λŠ” μ‚¬μš©μžμ˜ λ””λ°”μ΄μŠ€ λͺ¨λ‹ˆν„°μ˜ 정보λ₯Ό μ œκ³΅ν•˜λŠ” 객체 μž…λ‹ˆλ‹€.
예λ₯Ό λ“€μ–΄ λͺ¨λ‹ˆν„°μ˜ λ„“μ΄λ‚˜ 높이 λ˜λŠ” 컬러 ν‘œν˜„ 방식을 μ œκ³΅ν•©λ‹ˆλ‹€.

      [κΈ°λ³Έν˜•]
      - screen.속성;
      - screen.λ©”μ„œλ“œ();
      [ν”„λ‘œνΌν‹°]
      1. avaliHeight : ui μ˜μ—­(예λ₯Ό λ“€μ–΄ window μž‘μ—… ν‘œμ‹œμ€„μ΄λ‚˜ mac의 독)을 μ œμ™Έν•œ μ˜μ—­μ˜ 높이λ₯Ό λ°˜ν™˜ν•©λ‹ˆλ‹€.
      2. avaliWidth : ui μ˜μ—­μ„ μ œμ™Έν•œ μ˜μ—­μ˜ 넓이λ₯Ό λ°˜ν™˜ν•©λ‹ˆλ‹€.
      3. colorDepth : ν™”λ©΄μ—μ„œ 픽셀을 λžœλ”λ§ ν•  λ•Œ μ‚¬μš©ν•˜λŠ” 색상 수λ₯Ό λ‚˜νƒ€λƒ…λ‹ˆλ‹€.
      4. height : ui μ˜μ—­μ„ ν¬ν•¨ν•œ 높이λ₯Ό λ°˜ν™˜ν•©λ‹ˆλ‹€.
      5. width : ui μ˜μ—­μ„ ν¬ν•¨ν•œ 넓이λ₯Ό λ°˜ν™˜ν•©λ‹ˆλ‹€.
      6. orientation : ν™”λ©΄μ˜ ν˜„μž¬ λ°©ν–₯을 λ‚˜νƒ€λƒ…λ‹ˆλ‹€.
      7. pixelDepth : ν™”λ©΄μ—μ„œ 픽셀을 λžœλ”λ§ ν•  λ•Œ μ‚¬μš©ν•˜λŠ” λΉ„νŠΈ 수λ₯Ό λ‚˜νƒ€λƒ…λ‹ˆλ‹€.
      [λ©”μ„œλ“œ]
      1. lockOrientation() : ν™”λ©΄ λ°©ν–₯을 μž κΈ€ λ•Œ μ‚¬μš©ν•©λ‹ˆλ‹€.
      1. unlockOrientation() : ν™”λ©΄ λ°©ν–₯ μž κΈˆμ„ ν•΄μ œν•  λ•Œ μ‚¬μš©ν•©λ‹ˆλ‹€.

πŸ—¨οΈ μ†μœΌλ‘œ 직접 κ³΅λΆ€ν•œ λ‚΄μš©μ„ λ°”νƒ•μœΌλ‘œ μž‘μ„±ν•œ κΈ€μ΄λžλ‹ˆλ‹€ !
βœ–οΈ
μ•žμœΌλ‘œλ„ μ—΄μ‹¬νžˆ κ³΅λΆ€ν•΄μ„œ λ§Žμ€ λ‚΄μš©μ„ κ³΅μœ ν•˜κ² μŠ΅λ‹ˆλ‹€ :)

profile
🎧 α΄˜ΚŸα΄€ΚΙͺΙ΄Ι’: UXUI (Feat: coding) ─────────βšͺ───── 𝟸:𝟷𝟾 / 𝟹:πŸ»πŸΌβ € γ…€ ◄◄⠀▐▐⠀►► ───○ πŸ”Š

0개의 λŒ“κΈ€