자바스크립트 기초
자바스크립트는 네스케이프社에서 개발한 HTML 문서 내에 삽입되어 동적인 웹페이지를 구현할 수 있는 스크립트이다.
독립된 응용프로그램의 형태를 지니지 못하는 스크립트 언어이다.
객체를 이용하여 프로그래밍하는 객체기반언어다.
자바스크립트는 웹 페이지의 HTML 엘리먼트에 DOM(document object model)이라는 좀 더 정형화되고, 구조화된 정의가 추가되면서 더욱 강력해졌다.
자바스크립트는 스크립트 언어의 특성 상 플랫폼에 독립적이며 모든 웹 브라우저에서 동일한 실행 결과를 얻을 수 있다.
프로그램 코드가 직접 html문서에 삽입되어, 브라우저에서 html파일을 읽을 때 같이 해석되고 실행된다.
컴파일 과정이 필요 없으며, 브라우저만 있다면 실행이 가능하다.
클라이언트에서만 실행되기에 정보를 서버에 보낼 필요 없이 처리할 수 있다.
소스 코드가 노출되어 누구든지 복사하여 사용할 수가 있다.
HTML안에 삽입 될 때는 <script> ~ </script>안에 정의한다.
<script> ~ </script>의 위치는
<head>~</head>태그 또는 <body>~</body>태그에 모두 정의 가능하다.
- HTML 페이지의 <body> 태그 안을 자바스크립트에서는 document 라고 부른다.
- 스크립트 실행문 document.write(); 부분의 document 를 객체(object)라고 부르고
write() 는 '매서드(method)'라고 부른다.
- 문장 끝에는 세미콜론';'을 적어서 문장의 끝을 알려주어라.
자바스크립트에서는 새로운 줄이 세미콜론과 똑같이 동작하여 ';'를 붙이지 않아도 되기는 하다.
하지만, 한줄에 하나 이상의 문장을 배치하려면 세미콜론 ';' 으로 나눠야 한다.
- document.write(); 는 PHP의 echo 나 print 명령어와 같다.
document.write("Hello World");
는 외부형 js 파일을 불러온다는 의미이다.
ㅇ 자바스크립트 주석문 : // 와 /* */
// : 한 줄 주석 처리. 프로그램 코드 끝에 사용
/* ~ */ : 한 줄 이상의 주석 처리
HTML 주석 태크는 <!-- 내용입력 -->
ㅇ 문장 끝에는 세미콜론';'을 적어서 문장의 끝을 알려준다
ㅇ 변수 만드는 규칙
- 사용 가능한 문자는 영문자, 숫자, _(underbar, underscore)이다
- 숫자로 시작할 수 없다.
- _(underbar , underscore)를 제외한 !, #, ?, $, @ 등과 같은 다른 특수문자는 올 수 없다.
- 공백은 허용되지 않는다.
- 자바스크립트 문법 안에서 규정한 예약어(키워드)는 변수로 사용할 수 없다.
ㅇ 식별자 종류
- 식별자 뒤에 괄호가 없고 단독으로 사용 : 변수
- 식별자 뒤에 괄호가 있고 단독으로 사용 : 함수
- 식별자 뒤에 괄호가 없고 다른 식별자와 사용 : 속성
- 식별자 뒤에 괄호가 있고 다른 식별자와 사용 : 메서드
ㅇ 이용문법
- \n : 줄바꿈
- 문자열 연결은 + 를 사용 : '이런'+'식으로도'+' '+'출력 가능'
- \t : Tab
- \' : 작은 따옴표
- \" : 큰 따옴표
- \\ : 역슬레쉬(\)
- % : 나머지 연산자, alert(5 % 3);
- 변수 : 값을 저장할 때 사용하는 식별자, 변수선언 var 식별자;
ㅇ 자료형 확인 : typeof 연산자를 이용
<script>
alert(typeof('String')); //String
alert(typeof(123)); //Number
alert(typeof(true)); //Boolean
alert(typeof(function(){})); //Function
alert(typeof({})); //Object
alert(typeof(abc)); //Undefined : 선언되지 않은 변수를 출력하려고 할 때
// 변수를 선언했지만 초기화를 하지 않았을 경우에도 undefined 출력된다
</script>
# null 은 의도해서 비워놓은 값
function getType(data) {
return Object.prototype.toString.call(data).slice(8,-1);
}
console.log(getType(123));
console.log(getType(false));
console.log(getType(null));
console.log(getType({}));
console.log(getType([]));
ㅇ switch 문
- 코드를 읽다가 break 를 만나게 되면 switch 문을 빠져 나가게 된다.
ㅇ 삼항 연산자
- (불 표현식) ? (참일 때 실행되는 문장) : (거짓일 때 실행되는 문장)
- 삼항연산자는 코드가 너무 복잡해지므로 한 줄로 적을 수 있을 때만 사용하는 것이 좋다.
반복문 : for, while, do ~while
ㅇ for 문 (For statement)
for (초기식; 조건식; 종결식) { // 1. 먼저 초기식을 실행하고 조건식을 비교
문장 // 2. 조건식이 참이면, 문장을 실행한 후 종결식을 실행하고
} // 3. 다시 조건식을 비교하고, 참이면 문장실행후 종결식을 실행(반복)
continue; // continue를 만나면 continue 이전 까지의 문장만이 실행이 되고 다음 반복으로 넘어감
ㅇ while 문
while (불 표현식) { // 불 표현식이 참인 동안 수행문을 실행하고, 거짓이면 수행문을 실행하지 않는다.
수행문 ...
}
ㅇ do while 문
do {
문장
} while (불 표현식) // 무조건 한번 실행 후 반복
# 변수 유효범위(Variable Scope)
형변환(Type conversion)
=== 일치연산자
== 동등연산자 : 형변환이 발생한다.
Falsy(거짓 같은 값)
false, '', null, undefined, 0, -0, NaN
1 + undefined ==> NaN
ㅇ 배열
- 배열은 여러 개의 변수를 한곳에 저장할 수 있는 자료형이다.
- 자바스크립트에서는 문자열과 숫자, 불, 함수, 객체와 정의되지 않은 자료형까지 총 6가지의 자료형이 존재
- 배열은 이중 객체의 일종으로, 대괄호([])를 이용해서 생성
- 배열 안에 입력된 값을 배열 요소라고 부른다.
- alert(array[1]); // 배열 기호 안에 들어간 숫자를 인덱스(Index)라고 부른다.
- for (var i in array) 은 for (var i = 0; i < array.length; i++) 와 같은 의미
<script>
var lls = document.getElementsByTagName('li');
for(var i in lls){
lls[i].style.color = 'blue';
}
</script>
- 배열 함수 정리 자료는 http://link2me.tistory.com/1458 참조
function 함수이름(매개변수, 매개변수) {
함수의 수행문 ...
return 리턴값;
}
내장함수
alert : 가장 많이 사용되는 자바스크립트 메세지창이다.
prompt : 사용자의 입력을 받아 자바스크립트로 인식시킬때 사용하는 내장함수이다.
confirm : 확인과 취소 버튼을 가지는 메세지상자이다.
<script>
var res;
res = confirm("계속하겠습니까?");
if (res == true)
document.write("진행을 선택했습니다");
else
document.write("취소 되었습니다.");
</script>
ㅇ Example
alert(1000 > 100 > 10);
해설 : 연산 과정은 좌측부터 계산하며, alert(true > 10) -> alert(1 > 10) -> alert(false)
alert(num++) 은 alert(num); num=num+1;
alert(++num) 은 num=num+1; alert(num);
문자열을 입력하는 함수인 prompt()
var input = prompt('이름을 입력하세요.', '홍길동');alert(input);
confirm()함수는 사용자가 확인을 누르게 되면 true, 취소를 누르면 false를 리턴한다.
var input = confirm('수락하시겠습니까?');alert(input);
ㅇ 알아두면 좋은 팁
- window.open 을 클릭으로 열면 팝업이 차단되지 않지만, 그냥 열면 기본은 차단된다.
<script>
window.open('demo2.html');
</script>
- window.open('test1.html', '_blank', 'width=200, height=100, resizable=yes');
'Web 프로그램 > js, jQuery' 카테고리의 다른 글
자바스크립트 Select API (0) | 2015.04.10 |
---|---|
jQuery 개념 이해 ★★★★ (0) | 2015.04.01 |
이클립스를 사용하여 HTML5, JSP 코드 연습 (0) | 2015.03.27 |
자바스크립트 비교 연산자 및 논리연산자 (0) | 2015.03.25 |
자바스크립트 기초 2 (0) | 2015.03.22 |