JavaScript
- interpreter 방식의 스크립트 언어
- Server Side Interpreter 실행
- on Server 실행 : JSP , ASP , PHP
- 대소문자를 구분한다
- 종결문자 ; (필수는 아니다)
- 변수의 자료형이 없다
- 변수 선언 형식 > var 변수명
- 대입되는 값의 형태에 따라 자동으로 변수의 자료형이 결정된다
- 변수 선언하지 않아도 변수를 사용할 수 있다.
- 함수 선언 형식 > function 함수명(){}
- 함수의 리턴형이 없다 (리턴값은 존재)
- 이벤트를 발생시켜 함수를 호출하는 방식으로 대부분 실행한다.
1 |
|
- 주로 사용자가 입력한 자료에 대한 유효성 검사시 사용
- 유효성 검사를 할때는 한계가 있다.
- 예를 들어 주민번호와 실명확인 등의 유효성 검사는 하지 못한다. 다만, 회원가입이라면 아이디가 빈값인지? 이메일 입력을 제대로 했는지? 등의 유효성 검사는 자바스크립트가 그 역할을 해준다.
- 자바문법과 거의 동일
- 자바스크립트는 서버에서 실행되는 언어가 아니라 클라이언트에서 실행되는 스크립트 언어
자바스크립트의 기본문법
1) 자바스크립트는 Object(객체)로 구성되어 있다.
- Object = property(field) + method로 구성되어 있다
- 자바스크립트의 최상위 객체는 window
- window 객체명은 생략 가능하다
- property , field , 멤버변수 : window.location
-
method , 멤버함수 : window.alert()
- 경고창 실행
window.alert()
window는 생략가능
1 |
|
- 확인 , 취소 버튼이 나옴
window.confirm();
window 생략가능
확인 > true , 취소 > false 값을 반환한다
1 |
|
2) 변수의 자료형은 var만 있다
- 값이 변수에 대입이 되면서 자료형이 결정된다
- 변수선언 하지 않아도 사용 가능하다
1 |
|
3) document 객체
- 웹페이지의 본문 body를 가리키는 객체
- HTML tag 사용시 “” 안에서 사용
1 |
|
- 본문 body에 있는 id 속성 접근
JavaScript
1 |
|
JavaScript로 body에 표 출력하기
1 |
|
연산자
- Java 와 동일하다
1 |
|
- 논리연산자
예시) 윤년인지 확인하시오
1 |
|
- 삼항연산자
예) 세개의 수 중에서 가장 큰 값 구하기
1 |
|
- 1 증감 연산자
1 |
|
형변환
1) The Number() Method
- 문자를 숫자로 변형
NaN : 에러메세지로 이렇게 뜰 때 쓰레기값이라는 의미(자바스크립트)
1 |
|
2) The parseInt() Method
1 |
|
3) The parseFloat() Method
1 |
|
4) The toString() Method
문자형 변환
1 |
|
5) The valueOf() Method
참조형(Integer) -> 기본형(int)
1 |
|
6) isNaN()
- 값이 숫자형태로 되어져있는지 물어보는것
- 숫자면 false , 숫자가 아니면 true
undefined , NaN : 쓰레기값
1 |
|
7) eval()
“x * y” , “2 + 2” , “x + 17” 는 문자열로 구성되어있는데 계산해주는 함수
원래 변수명은 a1에서 a와 1을 분리해서 생각할 수 없는데 eval()를 사용하면 숫자를 반복문 처리해서 할 수 있음(따로 볼 수 있음)
eval(a+”1”) -> a1 변수로 인식함
1 |
|
제어문
- 조건문
- if문 , switch~case문
- 반복문
- for문 , while문 , do~while문
- break문 , continue문
예시) 성적프로그램
1) 학생정보
1 |
|
2) 국어점수의 학점 구하기
1 |
|
3) 과락 구하기
평균을 기준으로 합격, 재시험, 불합격
1 |
|
4) 평균 95점 이상 학생은 장학생
1 |
|
5) 위의 데이터값을 문자열 변수에 모두 모아서 테이블로 작성한 후 id=demo에 출력하기
1 |
|
배열
- 배열 Array , 요소 element , 순서 index
- 배열 선언할 때
old version (bad)
var points = new Array();
1 |
|
new version (good)
var points = [];
1 |
|
- 배열 선언
1 |
|
- 자바와 다르게 자바스크립트는 배열 순서에 상관없이 값을 넣어도 된다.
1 |
|
배열관련 메소드
1 |
|
1) 배열 출력하기
Banana,Orange,Apple,Mango
1 |
|
2) 요소 사이에 * 넣어서 출력하기
BananaOrangeApple*Mango
1 |
|
3) 배열 마지막 요소 제거
Banana,Orange,Apple
1 |
|
4) 배열 마지막 요소 추가
Banana,Orange,Apple,Kiwi
1 |
|
5) 첫번째 배열 요소 제거 후 다른 모든 요소를 낮은 인덱스로 이동
Orange,Apple,Kiwi
1 |
|
6) 첫번째 요소 추가
Lemon,Orange,Apple,Kiwi
1 |
|
7) 0,1번째 요소 제거
Orange,Apple,Kiwi
1 |
|
8) concat() 메소드는 기존 배열을 병합(연결)하여 새 배열을 만든다
- 여러개의 배열 인수를 사용할 수 있다.
Cecilie,Lone,Emil,Tobias,Linus
1 |
|
9) 배열의 일부를 새 배열로 분열
fruits.slice(1, 3);
Orange,Lemon 출력 ( 마지막 지정한 자릿수는 포함되지 않음. 실제 1~2)
Orange,Lemon,Apple,Mango
1 |
|
######
배열정렬
Array Sort
- 문자열 배열
1) 오름차순
Apple,Banana,Lemon,Mango,Orange
1 |
|
2) 내림차순
Mango,Apple,Lemon,Orange,Banana
1 |
|
Numberic Sort
- 숫자 배열
1) 오름차순
1,5,10,25,40,100
1 |
|
2) 내림차순
100,40,25,10,5,1
1 |
|
JSON
-
JavaScript Object Notation : JSON
-
자바스크립트 객체 표기법
-
배열을 객체화
-
속성(name) : 값(value) 쌍으로 데이터가 구성
-
AJAX , NoSQL 등에서 주로 사용
-
비동기식 통신(문자단위 통신)에서 XML를 대체하는 주요 데이터 포맷
- XML 문법
- custom tag(사용자 정의 태그 )기반
- 환경설정, 안드로이드 기반의 앱개발 시 View단 구성
1
2
3
4
5<person> <firstName>John</firstName> <lastName>Doe</lastName> <age>46</age> </person>
- XML 문법
- name(key)과 value 한 쌍으로 구성
- name과 value는 : 기호로 구분
-
name 구성 시 “” 기호를 생략 가능하다
- {} 안에 데이터를 저장한다
형식) {name:value,”name”:value,name:value}
예) {“firstName”:”John”,”lastName”:”Doe”,”age”:46}
1 |
|
- 1번째 방법
“John” , “Doe” , 46
1 |
|
- 2번째 방법
“John” , “Doe” , 46
1 |
|
다양한 값 넣어보기
1 |
|
[object Object] 출력
값이 제대로 주고 받고가 잘 되고 있다는 뜻
1 |
|
출력값
John Doe1 46
Tom Doe2 26
Sam Doe3 36
1 |
|
JSON.parse()
- String형태의 JSON문법을 분리할 때
- JSON 문법으로 변환, JSON문법이라는 가정하에!!
1 |
|
JSON.stringify()
- JSON값을 일반 문자열로 변환
1 |
|
’{“name”:”John”,”age”:30,”city”:”New York”}’
1 |
|
길이 : 42
1 |
|
JSON Array
1 |
|