역할
사용자 브라우저에 내장된 프로시저 형태
선언방법
다중 선언시 주의사항 : 위에서 아래로 선언한 순서대로 파싱 처리 순서 고려
선언형식 :
<script type="text/javascript">
코드 작성
</script>
<script type="text/javascript" scr="js-url경로"><
script>
선언위치
<head> <script></script></head>
<body> <script></script></body>
html 형식
<html>
<head> <!-- css : 외부파일, 내부파일 --> <link> <style></style> <!-- js : 외부파일, 내부파일 --> <script></script> </head> <body> ...... <script></script> </body>
</html>
브라우저 종속 : 브라우저 지원하면 수행, 미지원시 수행 않음
<script type="text/javascript">
<!-- 지원 브라우저인 경우 코드 수행문 //-->
</script>
<noscript>
// 미지원 브라우저인 경우 수행문
</noscript>
주석
*
자바스크립트 여러줄 주석 *
/변수
변수 선언 방법
var 변수형;
또는 var 변수명 = 값;
변수명 = 값;
fuction 함수명() {
// 전역변수
전역변수명 = 값;// 지역변수
var 지역변수 = 값
}
내장 객체
html 문서 출력
document.write("html body에 올 수 있는 코드");
자바스크립트 특징
특수문자
\n
\t
\
\"
\'
\r
\b
산술 연산자
: + - * / % ++ -- -
논리 연산자
: && || !
비교 연산자
: == != < > <= >=
조건 연산자(삼항연산자)
: 변수명 = (조건식) ? true할당값 : false할당값;
문자열 결합 연산자
: +, +=
제어문
if() {
} else if() {
} else {
}
switch() {
case a:
[break;]
case x:
[break;][default:]
}
for(초기값; 조건식; 증감값) {}
do{} while(조건식);
while(조건식) {}
Window => window (최상위 객체, 생략 가능)
경고창 :
- alert("메세지");
- 확인버튼을 클릭
- 오류 등 메세지 출력 확인
- 지나친 사용은 사용자 불편 => ajax(비동기통신)을 이용해서 화면에 메세지 자동 출력 처리
확인/취소 선택
- var 변수명 = confirm("메세지");
- 확인 버튼 선택 : true
- 취소 버튼 선택 : false
- 주문, 회원가입, 탈퇴 등 최종 확인
문자, 숫자 데이터 입력 여부 검증
- var 변수명 = isNaN(데이터)
(isNaN는 is not a number)
- 데이터가 숫자가 아니면 : true
- 데이터가 숫자이면 : false
- 웹 입력한 모든 데이터는 문자열 전달
- 주문수량, 가격, 나이, 전화번호 등을 사용할때 사용.
사용자 데이터 입력받기
- var 변수명 = prompt("메세지" [, 초기값]);
- html에서 사용자 데이터 입력받는 방법 : <form>
=> type="text", "hidden", "checkbox", "radio", <option>
정수형 파싱처리
- pasrseInt(숫자데이터);
-- 문자열형식의 숫자데이터를 정수형으로 변환
-- 실수형숫자를 정수형으로 변환 : 소수이하 버림처리
실수형 파싱처리
- pasrseFloat(숫자데이터);
-- 문자열형식의 숫자데이터를 실수형으로 변환
수식 연산
- eval("5 + 3 * 2")
수식으로 변환해서 결과를 반환시켜줌
-- ajax(비동기통신)에서 eval은
=> json형식의 문자열을 json객체로 변환
디버그 목적 값출력 확인
- alert(name)
=> 확인버튼 불편
- console.log(name)
=> 브라우저 F12(개발자도구모드)
=> console에서 출력 내용 확인 가능
undefined
- 정의되어 있지 않음을 의미
- var 변수명;
데이터 타입 조회
- typeof 데이터
- typeof (데이터)
모듈화 개념 function
클래스 개념(생성자) function
이름이 있는 function
- 함수 선언 => 필요할 때 마다 함수 호출하여 사용
이름이 없는 function
- 한번만 수행 하기 위한 함수
- 이벤트 처리
- function 함수명([매개변수명1, 매개변수명x]) {
// 수행문
var 지역변수명 = 값 ;
전역변수명 = 값 ;
}
- function 함수명() {
// 수행문
return [value];
}
예시)
data = "자바스크립트"; // 0, 1, 2, 3, 4, 5
data.substring(-3, 5) => data.substring(0, 5)마이너스 그냥 0으로 바꿔버림 => 자바스크립트 로 출력
data.substring(2, -3) => data.substring(-3, 2) => data.substring(0, 2) => 자바스 로 출력
- 예제
월, 일 : 1~9 => 01, 02, ... 09 / 1~12 => 01, 02, ... 09, 010, 011, 012