티스토리 뷰
브라우저 객체 Browser Object Model (BOM)
브라우저에 내장된 객체를 '브라우저 객체'라고 한다.
브라우저 객체의 최상위 객체는 window라고 부르며 window가 곧 브라우저를 의미한다.
window객체 안에는 여러 하위 객체가 포함되어 있다. 즉, 계층적 구조로 이루어져 있고, 이를 브라우저 객체 모델이라고 한다.
window객체의 하위 객체로는 document, screen, location, history, navigator가 있다.
window객체
브라우저 객체의 최상위 객체를 말한다.
[메서드]
1. open("url 또는 경로", "새 창 이름", "새 창 옵션") : url또는 경로의 페이지를 새 창으로 연다.
2. alert("메세지") : 경고창이라고 부르고, 사용자에게 경고 문구나 안내를 하기 위한 창. 사용자가 확인 버튼을 누르면 alert() 다음 줄의 코드를 실행한다.
3. prompt("질문", "기본응답")
: 질의 응답창. 사용자한테 질문하여 어떤 응답을 받고 싶을 때 사용한다. 사용자가 입력한 모든 내용은 문자열로 반환된다.
4. confirm("질문")
: 컨펌창. 확인 취소창이라고 하기도 함. 확인 버튼을 누르면 true를 반환하고 취소를 누르면 false값을 반환한다.
5. moveTo(x,y)
: 지정한 새 창의 위치를 이동한다.
6. resizeTo(width, height)
: 지정한 새 창의 크기를 지정한다.
7. setInterval( function(){자바스크립트 코드;}, 시간간격)
: 일정한 시간 각격으로 자바스크립트 코드를 지속적으로 실행한다.
8. setTimeout( function(){자바스크립트 코드;}, 시간간격)
: 일정한 시간이 지나면 자바스크립트 코드를 한번 실행하고 종료한다.
윈도우 객체 메서드
일정한 시간 간격으로 코드 실행하기
일정한 시간 간격으로 특정 자바스크립트 코드를 실행하려면 setInterval()메서드와 setTimeout()메서드를 사용할 수 있다.
setInterval()메서드는 일정한 시간 간격으로 자바스크립트 코드를 무한히 반복한다.
특정 시점이 되면 코드를 멈추라고 해주어야 멈출 수 있다.
setTimeout()메서드는 일정 시간을 잠시 기다렸다가 자바 스크립트 코드를 한 번 실행한다.
실행한 이후에는 자동으로 메서드를 종료한다.
setInterval()은 코드를 일정한 간격으로 반복 실행하고
clearInterval()메서드는 setInterval()메서드를 취소한다.
문자열 객체 String
문자를 객체로 취급하는 것으로 일반적인 문자형 데이터가 곧 문자열 객체이다.
자바스크립트에서 가장 많이 사용되는 객체이다.
문자열 객체를 생성할 때에는 new String("문자형 데이터")를 넣어 표현할 수 있고 더 간단하게 많이 쓰는 방식은 ""(따옴표)로 표현한다.
history 객체
history객체는 사용자가 방문한 사이트의 기록을 남기고 이전 방문 사이트와 다음 방문 사이트로 다시 돌아갈 수 있는 속성과 메서드를 제공한다.
[기본형]
1. history.속성;
2. history.메서드();
3. history.메서드(값);
[속성, 메서드 종류]
1. history.back() : 페이지 뒤로 가기
2. history.forward() : 페이지 앞으로 가기
3. history.go(숫자) : 음수면 페이지 뒤로가기, 양수면 앞으로 가기. -2라고 하면 2페이지 이전 사이트로 이동한다.
4. history.length : 총 방문기록의 갯수를 반환한다.
스크린 객체(screen)
사용자의 모니터 정보(속성)을 제공하는 객체
예를 들어 모니터의 넓이, 높이 또는 컬러 표현 bit를 반환한다.
[기본형]
screen.속성;
[프로퍼티 종류]
1. screen.width : 화면의 넓이값을 반환한다.2. screen.height : 화면의 높이값을 반환한다.3. screen.availWidth : 작업 표시줄을 제외한 화면의 넓이값을 반환한다.4. screen.availHeight : 작업 표시줄을 제외한 화면의 높이값을 반환한다.5. screen.colorDepth : 사용자 모니터가 표현 가능한 컬러 bit를 반환한다.
location객체
location객체는 사용자 브라우저에 있는 주소표시줄에 관련된 속성과 메서드를 제공한다.
현재 url에 대한 정보와 새로고침 메서드를 제공한다.
[기본형]
location.속성;
location.메서드();
[속성]
1. location.href : 웹 주소 url을 변경하거나 현재 url을 반환한다.
-location.href="url주소"; ==> url을 변경
-location.href; ==> 현재 url 반환
2. location.hash : url의 해시값(#에 명시된 값)을 반환한다.
3. location.hostname : url의 호스트 이름을 설정하거나 반환한다.
4. location.host : url의 호스트 이름과 포트 번호를 반환한다.
5. location.protocol : url의 프로토콜을 반환한다.
6. location.search : url의 쿼리 요청값을 반환한다.
[메서드]
location.reload() : 새로고침(F5)
navigator객체
navigator 객체는 현재 방문자가 사용하는 브라우저 정보와 운영체제 정보를 제공하는 객체이다.
[기본형]
navigator.속성
[속성]
1. navigator.appCodeName
: 현재 브라우저의 코드명을 반환한다. 현시점의 모든 브라우저는 "Mozilla"를 반환한다.
2. navigator.appName
: 현재 브라우저의 이름을 반환한다. 현시점의 모든 브라우저는 "Netscape"를 반환한다.
3. navigator.appVersion
: 현재 브라우저의 버전 정보를 반환한다. 현 시점의 모든 브라우저는 "5.0(Windows)"를 반환한다.
4. navigator.language
: 브라우저가 사용하고 있는 언어를 반환한다. 한국어면 "ko"를 반환한다.
5. navigator.product
: 브라우저의 엔진 이름을 반환한다. 크롬의 경우 "Gecko"를 반환한다.
6. navigator.platform
: 현재 컴퓨터의 운영체제 정보를 반환한다. 운영체제가 윈도우이고 시스템 종류가 64bit라도 브라우저가 32bit로 설정되어 있으면 "Win32"로 나온다.
7. navigator.onLine
: 온라인 상태에 대한 여부를 반환한다. 만약 인터넷이 정상적으로 연결되면 true값을 반환한다.
8. navigator.userAgent
: 브라우저와 운영체제의 종합정보를 반환한다.
함수 function
함수란 여러 동작을 묶은 하나의 코드 덩어리
변수에는 여러 줄의 코드를 저장할 수 없다. 만약 코드 여러 줄을 저장하고 싶다면 '함수'를 사용한다.
함수의 특징은 코드를 묶어 놓으면 자바스크립트가 기억하고 있다가 실행하라는 명령을 내리는 순간 실행한다.
즉, 코드를 바로 실행하지 않고 '실행해라!'라는 명령이 있을 경우에만 실행한다.
함수는 미리 정의를 해두었다가, 필요할 때마다 함수 호출문을 이용하여 실행할 수 있다. 즉, 재사용할수 있다는 장점이 있다.
변수와 함수의 차이점
[변수]
· 1개의 데이터만 저장 가능하다.
· var, let, const라는 키워드를 이용하여 선언한다.
· 문자형, 숫자형, 논리형, 빈데이터 등을 저장한다.
· 객체를 참조한다.
· 연산식과 같은 '식'을 참조할 수 있다.
[함수]
· 자바 스크립트 코드를 저장한다.
· function이라는 키워드를 이용하여 선언한다.
· for문, if문, switch문이나 출력문 등 문장을 저장하고 데이터(결과값)를 반환할 수 있다.
일반 함수 정의문
함수는 크게 두 종류로 나눠진다. '일반 함수 정의문' / '함수 표현식'
'일반 함수 정의문'은
· 말 그대로 문장이라서 변수에 담을 수 없다.
· 일반 함수 정의문에는 이름을 붙일 수 있다
· "이 구역은 함수 정의문의 구역이니 '함수명'으로 코드들을 보관해줘!"라는 뜻과 같다.
· 함수 정의문({...}) 안에 작성된 코드는 즉시 실행되지 않는다.
· 함수는 메모리(ram)에 할당되어 대기하다가 함수가 호출되면 실행한다.
· 함수 호출 시 '호이스팅 기술'을 지원한다. **익명함수는 호이스팅 지원 안함!
***호이스팅이란 '물건을 끌어올리다'라는 뜻으로, 함수 호출문이 함수 정의문보다 위에 있더라도 함수 정의문을 최상단으로 끌어올려 함수를 실행하도록 만드는 기술을 말함. 자바스크립트 해석기는 코드를 첫 줄부터 먼저 쭉 읽어나가면서 function이라는 키워드를 만나게 되면 미리 메모리 공간 안에 저장한다. 그렇게 미리 일반 함수들을 기억하고 있다가 함수 호출문을 만나면 코드를 실행한다. 그래서 일반 함수 정의문은 함수 호출문이 함수정의문보다 먼저 등장하더라도 함수를 정상적으로 실행한다. 이것이 바로 호이스팅의 개념이다.
[기본형]
함수명();
function 함수명(){코드;} => 기능에 관련된 코드를 함수명으로 저장
함수명(); => 함수 호출문. 이 부분에서 함수를 실행한다.
익명 함수 표현식
익명함수는 이름이 없는 함수로, '식'이다.
즉, 변수에 넣어 사용할 수 있다. 이름이 없기 때문에 이름을 대신해줄 변수에 넣어 변수명으로 호출하여 사용한다.
일반 함수와 다르게 호이스팅 기술을 지원하지 않는다. 즉, 함수 호출문이 정의문보다 먼저 등장할 수 없다.
[기본형]
var 변수명 = function(){ 코드; } =>익명 함수 표현식 선언
변수명(); => 익명함수 호출문.
- Total
- Today
- Yesterday
- list-style-type
- 컴퓨터학원수강내용정리day05
- uxui디자이너되기
- 형태구조선택자
- is선택자
- 제외선택자not
- 피그마기초
- 시안만들기
- 절대경로상대경로
- 문자결합연산자
- 컴퓨터학원수강내용정리day10
- nth-last-of-type
- 컴퓨터학원수강내용정리day2~4
- UIUX디자이너
- CSS
- 플레이스홀더
- has선택자
- javascript기초 #uiux #증감연산자 #전위연산 #후위연산 #대입연산=
- of-type
- flex태그배우기
- 컴퓨터학원수강내용정리day1
- html
- 링크의종류
- order과 align-self
- 하위정렬속성
- HTML기초
- uiux서비스기획
- UIUX
- 디자인소스사이트목록
- uiux기초
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |