티스토리 뷰

Javascript?

🙾 동적 움직임 담당

- 프로그래밍 언어

- 스타일 선택, 변경, 생성, 수정, 삭제 (= DOM 조작)

- 백엔드(서버)에서도 작업 가능

- 변수, 함수, 반복문, 조건문 기타 등등

 

🙾 세미콜론(;)이 있으면 문장

- 하나 이상의 표현식이 모인 것

- 문장 끝에는 세미콜론(;)을 적어서 문장의 끝을 알림

ex) 546; , 20 + 34 *2; , var test=“Test”+”One”; , alert(“Hello JavaScript !!”);

 

🙾 식별자

- 변수명과 함수명과 같은 이름을 붙일 때 사용하는 단어

- 한글, 한자, 일본어 같은 모든 언어 사용 가능

- 규칙

① 키워드와 공백 문자를 사용할 수 없음
② 숫자로 시작할 수 없음
③ 특수문자는 _과 $만 허용

 

🙾 하이픈이 있는 CSS속성은 하이픈을 없애고 대문자로 붙여씀

🙾 자바 스크립트 실행: 태그에 직접 실행 (= inline script)

🙾 이름있는 함수에는 arrow function 사용 불가

🙾 글씨: 대상.innetText = '값'; (= 대상.textContent)

🙾 태그: 대상.innerHTML = '값';

🙾 Template Literal

- var / let은 초기화 (= 새로 생성)

`${ }`

 

🙾 <script></script> 태그는 어디에 있어도 상관없음

- head에 작성 시 JS에서 가장 먼저 작성해야 할 일: 문서의 모든 내용을 로드

document.addEventListener(DOMContentLoaded, function(){});

- head, body 어디든 상관없음 (끝만 아니면 됨)

- body 닫히기 전에 있는 것이 가장 바람직

ex) script가 한 페이지에서 작업 될 때

<body>
	<h1>자바스크립트 기초</h1>
	<button>버튼</button>
	<!-- <button onclick="alert('반갑습니다')">버튼</button> -->
	<script>
		let button = document.querySelector('button');
		console.log(button);
		button.addEventListener('click',function(){
		  alert('반갑습니다');
		})
	  </script>
</body>

ex) script가 다른 페이지에도 공통으로 작업 될 때 

<body>
	<h1>자바스크립트 기초</h1>
	<button>버튼</button>
	<!-- <button onclick="alert('반갑습니다')">버튼</button> -->
	<script src="00_basic.js"></script>
</body>

 


variant (변수)

🙾 어떤 값을 넣을 수 있는 저장소 (= 데이터를 저장하는 그릇)

🙾 변수의 문법

- var 변수명 = 값;

- 값에는 숫자, 문자, Boolean(true,false), 함수, 배열, underfined, null가 있음

- 변할 수도 있는 값

- 문자는 반드시 따옴표 안에 써야 함 (" ", ' ')

- 숫자는 따옴표 없이 써야 함

<body>
    <h1>변수</h1>
    <script>
        var _new = "기본";
        document.write(_new);
        document.write(_new);
        document.write(_new);
        
        var num = 30;
        document.write(num);
        num = 40;
        document.write(num);
        
        var bool = true;
        
        console.log(_new);
    </script>
</body>

➡ 변수는 한 번 지정하면 끝이 아니라 다시 지정 가능 (ex. num으로 기본에서 30,40으로 변경함)

➡ 값을 확인하는 방법: console.log(_new);

F12 -> console에서 확인 가능

 

🙾 산술연산자

<script>
        var num1 = 100;
        var num2 = 30;
        console.log(num1+num2);
        console.log(num1-num2);
        console.log(num1*num2);
        console.log(num1/num2);
        console.log(num1%num2);
        console.log(5%2);
</script>

/ (= 나누기)와 %(= 나누고 나머지 값)은 다름

 

🙾 문자열 더하기

<script>
        var str1 = '자바스크립트';
        var str2 = '기초';
        console.log(str1+str2);
        console.log(10+20);
        console.log('문자'+20);
        console.log('문자'+20+30);
        console.log(10+'문자');
        console.log(10+'20');
        
        console.log(10*'20');
</script>

➡ 문자는 숫자와 산술하지 못함

➡ 문자 뒤의 숫자와 산술하면 숫자가 문자로 인식 됨 (= 타입으로 지정 됨)

숫자가 들어갈 경우 덧셈만 문자로 인식되어 산술이 안 되고 나머지 연산자들은 숫자로 인식되서 산술이 가능

 

🙾 증감 연산자

<script>
        var i = 1;
        // i++; // i = i + 1;
        console.log(i++);
        console.log(++i);
        console.log(i);
        console.log(i);
</script>

➡ i++ : 후치, 실행되는 시점에서는 변화가 X, i가 뒤에 바뀜

➡ ++i: 선치,  i가 바로 바뀜

 

🙾 복합 대입 연산자

<script>
        var a = 10;
        a+=10; // a = a + 10;
        a*=2;
        console.log(a);
</script>

 


function (함수)

🙾 함수의 문법

- 새 함수를 생성 : function 함수명() { 할일 };

- 함수 실행 : 함수명();

<script>
        function send() {
            alert('경고');
        }
        send();
</script>

 

🙾 함수의 구조

<script>
        /* 입력, 할일, 출력
        function 함수명(파라미터) { 할일 } 
        함수명 (10); 10 = 인수 */
        function greeting(msg) {
            alert(msg);
        }
        greeting('반갑습니다');
        // msg (= parameter: 매개변수)
        // greeting(= argument: 인수, 전달인자)

        function add(a,b){  // 입력값 a,b
            var sum = a+b;  // 할 일 덧셈
            return sum;     // 출력
        }
        let result = add(10,30);
        console.log(result);
</script>

➡ let result = add(10,30,40); 

만약 숫자를 3개 입력 했을 시 a,b 두 개만 입력 했기 때문에 똑같이 두 개까지만 출력됨

        let result = add(10,20);  // 호이스팅=hoisting=끌올
        console.log(result);

        function add(a,b){  // 입력값 a,b
            var sum = a+b;  // 할 일 덧셈
            return sum;     // 출력

➡ hoisting = 호이스팅 = 끌올

 

🙾 변수의 호이스팅

<script>
	console.log(num);
        var num = 5;
</script>

이름이 있는 함수는 어디서든 호출이 가능

➡ hoisting은 되었지만 값을 지정하지 않았으므로 출력 불가

<script>
	let num2 = 5;
	console.log(num2);
</script>

➡ let으로 생성한 변수는 hoisting 불가

<script>
           const num3 = 3;
           num3 = 5;
</script>

➡ constance = 상수 = 변하지 않는 값

➡ const으로 생성한 변수는 hoisting 불가

 

🙾 익명함수

<script>
        var sum = function(x,y){
            var z = x+y;
            return z;
        }
        console.log(sum(10,20));
</script>

➡ 익명함수는 지정한 이름이 없기 때문에 호이스팅 불가

 

🙾 즉시 실행 함수

    <script>
        /* 
        (function(매개변수){
        })(인수);
        */
        var result2 = (function(a,b){
            return a+b;
        })(10,30);
        document.write(result2);
    </script>

 


Atrribute (속성)

 메소드 리턴타입  설명 
 setAttribute(String name, Object value)  void 이름이 name인 속성의 값을 value로 지정합니다.
 getAttribute(String name)  Object 이름이 name인 속성읠 값을 구합니다. 지정한 이름의 속성이 존재하지 않을 경우 null을 리턴합니다.
 removeAttribute(String name)  void 이름이 name인 속성을 삭제 합니다. 
 getAttributeNames()  java.util
 Enumeration
속성의 이름 목록을 구합니다.

 

 

 

 

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2025/06   »
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
29 30
글 보관함