javascript 는 사용자의 행동에 반응하고, 움직임을 만드는 역할의 인터프리터 언어로서 c 언어와 마찬가지로 위에서
순차적으로 실행된다.
따라서 작성 순서에 유의해 줘야한다.
선언은 바디와 헤드 두군데에서 선언이 가능하고, html 태그를 사용하고 싶다면 바디에 하는 것이 좋다.
<script type="text/javascript"> </script>
<script type="text/javascript" src="js/3.js"> </script> //경로설정시 스크립트 안의 태그는 작동되지 않음.
변수-
변수는 변할수있는 값으로, c언어와 역할이 비슷하다 . 하지만 여기서의 변수는 자료형이 안의 값에 따라서 달라진다.
자료형은 크게 5가지가 있다.
string (문자형) " "
number ( 숫자형 )
boolean ( 논리형 )
문자열
null
cosol.log() 는 괄호 안의 값을 개발자 콘솔에서 볼 수 있게 한다.
변수의 자료형을 확인하는 방법은 개발자 콘솔에서 consol.log(typeof 변수)를 쓰면 된다.
변수에는 논리형으로 true 와 false 도 집어넣을수 있다.
z=false;
연산자-
연산자란? 연산을 해주는 것으로
덧셈(+) , 뺄셈 , 곱셈 , 나눗셈
증가 (++) , 감소(--) , 나머지(%) , 할당 (+= , -= , *= , /= , %=)
이 있다. 이를 모두 산술 연산자라고 한다.
증감 연산자의 연산은 두가지가 있다.
전위 연산자와 후위연산자가 있는데,
전위연산자는 ++x 먼저 1 증가하고 후위연산자는 x++ 원래 값을 할당하고 나중에 증가한다.
즉 넘겨주고 값이 변한다 y=x++ -> y==x , x==x+1
비교연산자
비교 (==) 엄격한 비교 (===) 같지 않음(!=) 엄격한 같지 않음 (!==) 크고작음 (>, <, >=, <=)
그냥 비교는 자료만 확인하나
염격한 비교는 타입까지 비교한다.
삼항 연산자
조건 ? A : B 는 조건에 맞으면 A 아니면 B 를 출력하는 삼항 연산자의 작성형태이다.
퀴즈!
var x=10,y="10";
var z;
console.log(z = x == y ? 10 : 11);
console.log(z = x === y ? 10 : 11);
== 를 썼을때와 === 를 썼을때의 z 의 값은>?
논리 연산자
부정 !
and &&
or ||
if (조건 ){
}
else if ( 조건 ){
}
else{
}
for
while
객체
객체란? object 로 물체를 객체라 하고 질감, 재질 등 물체의 특징을 속성(프로퍼티)이라 한다.
또한 물체의 특정 행동을 method 메서드 라고 한다.
var 객체명 = {키 : 값, 키 : 값.....}; 선언시 키는 객체의 속성이 된다.
객체를 사용하는 방법은 ㅁ
객체.메서드(); 메서드 실행
객체.프로퍼티; 속성을 가져옴(get)
객체.프로퍼티=값; 속성을 변경 (set)
DOM 객체
웹 페이지 자체를 객체로 인식
DOM 메서드 : HTML 엘리먼트 인식
DOM 프로퍼티 : HTML 엘리먼트 조작
DOM 객체는 gerElement 와 innerHTML 로 프로퍼티가 구성되어있다.
getElementByid(" X ") id가 X 인 것을 받음
getElementsByClassName(" X ") classname이 x인 것을 받음
getElemantsByTagName(" X ") 태그의 이름이 x인 것을 받음.
getElementsName(" X ") name이 X 인 것을 받음
querySelectorAll(" X ") X의 값을 받음
ex)
querySelectorAll("div#name > p#num1 ").innerHTML = "p 입니다" : div 의 아래 p 태그의 num1 을 p 입니다로 바꿈
ex)
getElementByid(" X ").innerHTML="h1 태그입니다."; : <X> </X> 사이에 h1 태그입니다를 집어넣음.
getElementsByClassName(" ")[0].innerHTML
s 가 붙는 경우의 속성을 불러오려면 배열처럼[ ]안에 class가 몇번인지 번호를 써 줘야한다.
BOM 객체
웹브라우저 자체를 객체로 인식
창 열기 , 창 닫기를 할수있음
window : BOM 에서 최상위
매서드
open(" ")
close(" ")
confirm(" ") : 메세지 창을 띄움
alart(" ") : 경고창을 띄움
setInterval(" ") : 타이머 만드는데 사용가능 //실시간 새로고침같은 느낌....?
innerWidth : 가로픽셀의 크기
innerHeight : 세로 픽셀의 크기 (위의 창 제외)
outerHeight : 세로 픽셀의 크기 (위의 창까지) // 브라우저 크기에 따라 달라지게 만들 수 있음.
하위 객체
Screen
Location
History
Navigator
Timing
Cookies
Popup Alert
함수
스크립트 안에 function 을 사용해서 선언하고 안에 코드를 작성한다
<script>function 함수명( 매개변수 ) { }</script> 와 같이 사용한다
C언어와 마찬가지로 ; 로 코드를 끝냈음을 알리고, 지역 변수를 선언할 수가 있습니다.
만약 funtion 의 밖에 사용한다면 script 안에서 전역변수를 사용할 수 있습니다.
익명함수란
함수를 변수에 넣어서 사용하는 것으로 변수의 이름으로 함수를 실행할 수 있습니다.
var 변수명 = function(매개변수){}; 와 같이 사용한다
이벤트
이벤트란 웹 페이지에서 발생하는 모든 사용자의 액션
이벤트 핸들러
onclick : 클릭했을때
onmouseover <-> onfocus 서로 대응 : 마우스가 올라갈떄
onmouseout <-> onblur 서로대응 : 마우스가 내려갈때
이벤트 핸들러 등록하는 법
1 속성으로 등록
2 html DOM
DOM 객체 탐색으로 등록
3 addEventListener() 매서드
메서드를 통해 이벤트 등록
DOM 탐색 과 속성등록 방식은 이벤트 중복 등록이 불가하다
이벤트 활용
this 사용자 자기자신을 가르킴
div#value div 태그의 value 값을 가르킴
setAttribute("class", "over") : class 의 값을 over 로 바꿈
'HTML + CSS +JS' 카테고리의 다른 글
HTML + JS 문제풀이 (0) | 2021.06.08 |
---|---|
자바스크립트 객체 (0) | 2021.05.18 |