본문 바로가기

Javascript

부스트코스 자바스크립트 <웹과 Javascript> 강의 메모 Boostcourse Javascript

반응형

 

1. 수업 소개 

 

HTML 정보를 표현하고 주고받을 수 있음 

 

사용자와 상호작용하는 웹페이지를 만들기 위해

동적인 JavaScript  만들어짐

 

 Html 을 이용해 웹페이지를 만들고 + 그 위에 JavaScript 를 사용자와 상호기능을 추가.

Html의 정보 + JavaScript의 기능 을 갖추게됨. 

 

Html - 멈춰있는 이미지 

JavaScript - 이미지를 움직이게 하는 마법 

 

 

2. 수업 목적

 

JavaScript -> 사용자와 상호작용하는 언어 

Web brower -> 는 한번 사용되면 본인을 바꾸지 않는다. 

CSS - 디자인에 최적화된 언어 

 

-> JavaScript 가 Html을 제어하는 것 / 다이나믹하게 Web page에 부여하는 것 

 

 

3. Html과 JS의 만남 : Script 태그

 

Html 정적 -> 1+1 

JavaScript -> 계산을 함.  -> 2

 

<!DOCTYPE html>
<html>
    <head>
    	<meta charse="utf-8"
        <title></tiltle>
	</head>
    <body>
	    <h1>JavaScript</h1>
        <script>
        	document.write(1+1);
        </script>
        <h1>html</h1>
        1+1
    </body>
</html>

document.wirte : 어떤 글씨 출력할 때 

 

4. HTML과 JS의 만남 : 이벤트 

 

JS가 사용자와 상호작용하는데 핵심적임 

 

<!--DOCTYPE html-->
<html>
    <head>
    	<meta charse="utf-8">
        <title></tiltle>
	</head>
    <body>
        <input type="button" value="hi" onclick="alert('hi')">
        <input type="text" onchang="alert('changed')">
        <input type="text" onkeydown="aler('key down!')">
    </body>
    </html>
</html>

 

Onclick 속성으로는 JS가 와야함. 

웹브라우저에서 일어나는 것이 = 이벤트 

ex) Onclick, onchange, onkeydown

 

on으로 시작하는 속성들 = 이벤트, event

 

 

5. HTML과 JS의 만남 : 콘솔

 

f12 or 검사 눌러서 콘솔에서 JS 바로 실행할 수 있음. 

콘솔에서 

 

alert(' ~~~~~~~~~'.lenth) 엔터하면 몇 글자인지 나옴 

즉석에서 실행 / 실용. 이미 만들어진 웹사이트에 빨리, 효율적으로 현실 문제를 후딱 해결할 수 있음. 

 

웹페이지를 대상으로 실행되게 된다. 

 

*팁 : 검사 (or f12) 누르고 Elements 떴을 때 Esc 눌러주면 아래에 콘솔이 뜸 

 

콘솔에 위쪽 화살표 누르면 반복됨. 

 

 

6. 데이터 타입 (문자열과 숫자)

 

데이터 타입 = 자료형 

JS data type goole 해보면 많이 나옴 

 

Boolena, Null, Undefined, Number, String(문자열), Symbol

(객체) 

 

<숫자>

1+1 더하기 2

2-1 빼기 1

2*4  곱하기 8

6/2 나누기 3

 

<문자>

"따옴표로 시작해서 따옴표로 끝내기"

작은따옴표, 큰따옴표 상관 없 , 세트만 맞춰주기

 

"Hello world".length 

11 (글자수-빈칸도 포함)

 

JAvaScript string -> Google it  

MDN web docs 등등 자료 많음. 

 

 

'hello world'.toUpperCase()
"HELLO WORLD"

'hello world'.indexOf('O')
-1 (O가 없음)
'hello world'.indexOf('o')
4 (0부터 세서 5번째 자리에 o가 있음) 
'Hello world'.indexOf('world')
6
'                  hello             '
"                  hello             "
'                  hello             '.trim()
"hello"

 

1 : 숫자

"1" : 문자열

1+1  

2

"1"+"1"

11  (주의 **) 

 

 

7. 변수와 대입연산자

 

x = 1;
1
y = 1;
1
x+y;
2
x=1000
1000
x+y;
1001

1=2;
VM25805:1 Uncaught SyntaxError: Invalid left-hand side in assignment

variable 변수 변할 수 있는 값. ex) x, y  

변할 수 없는 값 = 상수 (Constant) ( 1=2; ERROR)

= 대입연산자 라고함. 

대입연산자의 특징 : 좌항과 우항을 결합해서 우항의 값을 만들어냄 

 

* 변수를 쓰는 이유  ? 왜 쓰는가...

이유 많음. 

 

겁 ~~~ 나 많은 글 수에서 "Hello"를 "Hi"로 바꾸고 싶을 경우 등등등.. ex) 1억개라면..-

-> 이럴 때 변수 

 

name : 'hello';

alert("akdjfiajdlcnxlkfjads hello +"name" + lf asdfljsadf ladksjflweih hello qkgldsk uq+"name" + efgsdbnkguithreajds hello giqhe+"name" + ojkdfs uerhgfsd")

 

- > name : 안에 있는 "글자"로 모두 바뀌게 됨. 

 

변수 사용 시에는 var 키워드 쓰기 없어도 괜찮은데 쓰는게 더 좋은 습관.  (장, 단점 알기 전까지는 그냥 써)

 

 

8. 웹브라우저 제어

 

웹브라우저 제어하는 방법, 기술 

 

HTML은 한번 수정하면 그대로~ 정적임. 그대로 스타일 유지. ->JS로 보완

 

 

9. CSS기초 (style속성)

 

<!DOCTYPE html>
<html>
<body>
    <h1><a href="">WEB</a></h1>
    <h2 style="color:powderblue; background-color:red;">JavaScript</h2>
    <p>
        ajkdfjdaaaaaaaaaadddddddddddddddkkkkkkkkkkkkkkkkkkke,dicccccccccccccccccccccccccccccclddddddddddddddddddddddddddddddddddds;ajkdfjdaaaaaaaaaadddddddddddddddkkkkkkkkkkkkkkkkkkkedddddddd
        ddddddddddddddddkdj
    </p>

</body>


</script>
</body> 
</html> 

 

html의 h2 태그에 style 을 넣음. 

<h2 style="background-color:red; color:powderblue;">JavaScript</h2>

 

 

 

 

 

10. CSS기초(style 태그) - 선택자

h1 은 제목

div 란 어떠한 의미도 기능도 없음. 다만 css를 통해, or JS를 통해 정보 제어하고 싶을 때 감싸주는 무색무취의 태그

block tag -> 줄바꿈이 있음. 

span 은 div랑 똑같음 근데 inline 인 점이 다름. 

 

*style -> css 다~ 구분자. 

 

<!DOCTYPE html>
<head>
    <style>
        .js{
            font-weight:bold;
            color:rebeccapurple;
        }
    </style>
</head>
<html>
<body>
    <h1><a href="">WEB</a></h1>
    <h2 style="color:powderblue; background-color:red;">JavaScript</h2>
    <p>
        <span class="js">JAvaScript</span> ajkdfjda<span class="js">JAvaScript</span>
        aaaaaaaaadddddddddddddddkkkkkkkkkkkkkkkkkkke,diccccccccccccccccccccccccccccc
        clddddddddddddddddddddddddddddddddddds;ajkdfjdaaaaaaaaaaddddddddddddddd
        kkkkkkkkkkkkkkkkkkkedddddddddddddddddddd<span class="js">JAvaScript</span>ddddkdj
    </p>

</body>


</script>
</body> 
</html> 

 

 

 

11. CSS기초 (선택자)

 

선택자를 잘 사용해야 효율적으로 쓸 수 있음.

 

 

Class = 무언가를 그룹화

ID  = 무언가를 식별화 , 타겟팅 

 

ex) 반. 1학년 1반, 2반 

반 = class 

학번 = id (중복없음. ) 

 

 

id = "first" 썼으면 그 html에서 first 를 더이상 쓰면 안됨 -> 규약 위반. 

 

 

<!DOCTYPE html>
<head>
    <style>
        .js{
            font-weight:bold;
            color:rebeccapurple;
        }
        #first{
            color:green;
        }
        span{
            color:blue;
        }
    </style>
</head>
<html>
<body>
    <h1><a href="">WEB</a></h1>
    <h2 style="color:powderblue; background-color:red;">JavaScript</h2>
    <p>
        <span id ="first"class="js">JAvaScript</span> 
        ajkdfjda<span class="js">JAvaScript</span>
        aa<span>LOLOLO</span>aaaaaaadddddddddddddddkkkkkkkkkkkkkkkkkkke,
        diccccccccccccccccccccccccccccc
        clddddddddddddddddddd<span>LOLOLO</span>dddddddddddddddds;a
        jkdfjdaaaaaaaaaaddddddddddddddd
        kkkkkkkkkkkkkkkkkkkedddddddddddddddddddd
        <span class="js">JAvaScript</span>ddddkdj
    </p>

</body>


</script>
</body> 
</html> 

 

  

calss = .

id = #

 

 

그냥 

span  ., # 둘다 없으면 모든 span을 말함. 

그런데 <span id = "first" class="js"> 이런 경우, ID 선택자가 가장 우선 적용됨. 

그다음 Class 선택자 가 적용됨. 

 

Id > Class> nothing

 

 

 

12. 제어할 태그 선택하기

 

 

<body style="background-color:black;">

바디에 직접 넣거나

JS 사용해서

<h1><a href ="">WEB</a></h1>

    <input type="button" value="night" onclick="

    document.querySelector('body').style.backgroundColor='black';

    document.querySelector('body').style.color='white';

    "> 요렇게 해도됨.

 

<!DOCTYPE html>
<head>
    <style>
    a{
        text-decoration:none;
    }

    </style>
</head>
<html>
<body>
    <h1><a href ="">WEB</a></h1>
    <input type="button" value="night" onclick="
    document.querySelector('body').style.backgroundColor='black';
    document.querySelector('body').style.color='white';
    ">
    <input type="button" value="day" onclick="
    document.querySelector('body').style.backgroudColor='white';
    document.querySelector('body').style.color='blue';
    ">
    <div>Lulululalala</divf>

</body>


</script>
</body> 
</html> 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

반응형