2013년 2월 19일 화요일

[JS] JavaScript 스타트

자바스크립트는 현재 웹3.0의 시대를 맞는 시점에서 시멘틱한 웹과 웹에서 구현되는 RIA(Rich Internet Appliacation)에 중요한 언어이다.

자바와 기초적인 문법은 비슷하지만 스크립트 언어로써 상당히 느슨한 문법을 가지고 있다.

Netscape의 JavaScript와 MS의 Jscript는 ECMA에 의해 표준화가 되었고 이를 ECMAScript라 한다. 하지만 흔히들 드냥 JavaScript라 부른다.

HTML 헤드부분에 <link>로 스크립트파일을 포함하거나<script>태그를 사용한다.
예) <script type="text/javascript"> ...code...</script>
바디부분에 스크립트를 포함하기도 하지만 헤드에 삽입하는 것을 권장한다. 헤더에 스크립트를 포함하면 브라우저에 의해 점검된다.

자바스크립트는 문서를 브라우저가 읽어 들일 때 해석한다.

자바스크립트 장점
- 컴파일 과정이 없음. 신속한 개발이 가능
- HTML과 같이 플랫폼에 독립적임
- 시스템의 부담이 적음

단점
- 코드의 보안성
- 내장함수의 한계
- 디버깅 및 개발도구의 부족

자료형
- 문자열
- 숫자
- 불리언
- 함수
- 객체
- undefined

null : 아무런 값도 가지지 않음을 의미
undefined : 선언된 변수에 아무런 값이 할당되지 않거나 선언하지 않은 변수를 의미
NaN : 숫자가 아닌 것
Infinity : 무한대

자바스크립트는 자료형에 관대하다. 데이터형은 스크립트 실행 중에 자동적으로 변환된다.

내장함수
alert() : 경고창
prompt() : 입력창
confirm() : 확인창
eval() : 문자 또는 값으로 표현된 문자열 평가 후 숫자로 변환, 또는 실행가능한 코드로 변환
parseInt() : 문자열을 정수로
parseFloat() : 문자열을 소수로

자바스크립트에는 내장객체와 BOM객체가 존재한다.
내장객체
String, Array, Math, Date ...

BOM객체
window, history, location, document ...

자바는 클래스기반이 아니다. 그러므로 자바의 멤버변수는 속성이라하고 속성에 할당된 함수를 메서드라 한다. 할당된 메서드들를 프로토타입속성으로 관리할 수 있다. 이뿐만 아니라 자바와는 다른 특징이 존재한다. 몇 가지를 알아보자.
1. 객체로 미리 선언과 정의를 하지 않더라도 객체를 만들어 동적으로 속성을 추가 또는 삭제 할 수 있다.
2. 함수에서 Arguments는 선택적 사항이다. 매개변수의 타입, 갯수는 중요하지 않다. 따라서 오버로딩이 불가능하다.
3. 함수를 변수에 넣을 수 있다.

문법
자바와 기초적인 문법은 동일하다. 자바에 없는 것만 정리하겠다.
for .. in : 개체의 속성의 키값 또는 배열의 인덱스를 넘겨준다.
예)

var kim = new Student("용도", 100, 90, 81);

for(var i in kim){
alert(i + " " + kim[i]);
}
kim객체의 키(i)와 값(kim[i])로 출력창에 띄우고 있다. 어떻게 값을 출력하는지 잘 확인할것


with : 객체를 지정한다.
예)
var personName = new Object;

personName.first = '홍';
personName.second = '길동';

with (personName){
  document.write("그 사람의 이름은 " + first + " " + second + "입니다.");
}

댓글 없음:

댓글 쓰기