on
Web Programming(웹 프로그래밍) chapter5. JavaScript-1 복습 내용
Web Programming(웹 프로그래밍) chapter5. JavaScript-1 복습 내용
- JavaScript
: 자바 스크립트를 브라우저가 실행을 하고, 자바스크립트 내용을 수행해서 화면에 반영한다.
: 주로 어떤 이벤트가 발생했을 때 웹문서의 반응을 정의한다.(웹문서의 동적인 처리기능)
- Client-Side Scripting
: 브라우저에서 자바스크립트로 실행 할 수 있다.
: 로그인을 할 때, password의 길이가 10자이상 제한을 준다고하면, 서버에서 10보다 큰지
판단하고 response를 주는데, client가 여럿이 되면 서버의 부하가 커진다.
하지만, 자바스크립트를 사용하면 clinet-side에서 수행할 수 있으므로 과부하의 부담이 줄어든다.
: 사용자 측면에서도 서버를 왔다갔다할 필요없어서 편하다.
: HTML에도 접근할 수 있기 때문에, client 기기에서 html을 바로 실행 가능하다.
- Inline JavaScript
: HTML element에 바로 나란히 JavaScript를 기입하는 것.
-> 자바 스크립트 코드를 길게 작성하는 경우 한줄안에 쓰기 어렵기때문에 잘 사용되진 않음
-> 이렇게 계속 하다보면 나중에 디버깅이라던지 코드관리측면에서 문제가 발생할 수 있다.
- Embedded JavaScript
: script라는 element내에 JavaScript를 기입한다.
-> script위치는 head , body 어디에든 위치할 수 있다.
- External JavaScript
: 가장 많이쓰이고 바람직한 방식이다.
: 자바스크립트 코드를 별도의 어떤 파일로 만들고 script src=sadas.js 이런식으로 사용한다.
-> 분리된 파일로 관리함으로써 관리에 용이하다.
- JavaScript Output
: alert(팝업창에 뜰 메세지) -> 팝업창을 띄우는 것 -> 확인을 누르기전까지 수행이 멈춤
: console.log(콘솔 메세지) -> 화면에 나타나는 것은 아니고 JavaScript 콘솔에 나타난다.
: document.write(메세지) -> 보고있는 html문서의 content에 바로 값을 쓰는 것
: document.getElementById("demo").innerHTML
-> 특정 ID를 가진 element를 가져와서 컨텐츠를 바꾸는 것.
: 콘솔창을 이용하면 특정변수의 내용을 확인하는데에 편하다.
- JavaScript Values
: 고정된 값을 Literals이라고 하고, 변할 수 있는것을 Variables이라고 한다.
: Literals에는 Numbers와 Strings가 있다.
- JavaScript Variables
: 프로그램 수행중에 값이 바뀔 수 있는 것.
: 메모리 공간을 지칭하게 된다.
: var, let, const라는 키워드를 사용해서 선언을 먼저 해주고 assign해야한다.
- JavaScript Identifier
: 고유한 이름이 주어지는 것.
- JavaScript Operators
- JavaScript Keywords
- JavaScript Comments(주석)
: //, /* */
- Variables
: JavaScript에서는 변수의 type이 dynamical하다.(코드를 작성할 때 정하지 않는다.)
: var 변수이름;
-> 초기 변수의 들어있는 값은 undefined 값을 가지고 있다.
-> 재선언이 가능하다.(가장 마지막에 선언되고 사용된것이 저장된다.)
-> var는 선언을 하지 않고도 먼저 사용하는 것이 가능하다.
즉, var 변수이름; 이것이 할당코드가 먼저나오고 난다음에 나오더라도 hositing이라는 기능이
있어서 선언기능이 assignment보다 앞쪽으로 위치하게 해준다.
-> Block Scope를 지원하지 않는다.
: let 변수이름;
-> let은 재선언이 불가능하다.
-> let은 할당전에 반드시 선언을 해줘야한다.
-> Block Scope(블록 내에서만 사용가능)가 지원된다.
: const
-> 재선언 불가능
-> 재할당 불가능(할당전에 반드시 선언 해야함)
-> Block Scope 지원
본 게시물은 부산대학교 웹응용 프로그래밍 강의를 기반으로 자료를 사용해서 작성했습니다.
from http://commencer-y.tistory.com/25 by ccl(A) rewrite - 2021-10-14 18:27:28