JavaScript 기본

it/JavaScript 2014. 8. 21. 09:11 Posted by 하얀나다

@ 자바스크립트의 기초 문법

 

 

 

 

1. 자바스크립트 지정 

 

 

 

 

내부지정

<script type=”text/javascript”>

</script>

외부파일 지정

<script type=”text/javascript” src=”filename.js”></script>

 

 

2. 문장(statement)의 규칙

 

 

 

 

           1) 문장의 맨 끝에 세미콜론(;)를 붙인다

                     - 세미콜론 생략이 가능하지만, 문장의 단락이 모호함으로 생략하지 않는다

                     [ex] document.writeln(‘Hello’);

           2) 문장의 도중에 공백이나 개행, 탭이 가능

                     [ex] document.

                                writeln

                                (‘Hello’);

           3) 대소문자 구별

                     [ex] document.WritelN(‘hello’); // 안됨

           4) 주석

                     // 한줄 주석

                     /* 여러줄 주석 */

 

 

3. 변수

 

 

 

 

var 변수명;

   (*) var 예약어 생략이 가능하나 원칙적으로 생략하지 않는다.

 

 

 

 

           (1) 변수명명규칙

                     - 영문자, 언더스코프( _ ), $, 숫자 조합

                     - 첫글자는 영문자로 시작을 권장

                     - 대소문자 구별

                     - 예약어 안됨

 

 

4. 데이터타입

 

 

   (1) 데이터 타입의 종류

기본형

수치형(number) / 문자열형(string) / 논리형(boolean) / 특수형(null/undefined)

참조형

배열(array) / 객체(object) / 함수(function)

           (*) 자바스크립트는 데이터타입에 관대하다.

                     var temp = ‘temp는 문자열변수’;

                     temp = 100;     // 문자열변수 temp에 숫자값 대입 가능

 

 

 

 

   (2) 리터럴 : 데이터타입에 저장되는 값 그 자체

           - 문자리터럴은 ‘ ‘ 또는 “ “로 표현

           - 배열리터럴

                     var arr = [‘홍길동’, [‘김씨네’, ‘박씨네’], ‘홍길자’ ];

                     document.writeln( arr[1][0]  );

           - 객체리터럴

              ` 배열이 인덱스번호로 접근하는데 반해, 객체는 문자열로 접근하여 가시성을 높임

              ` 배열 내의 개별 데이터럴 요소(element)’라 하는데 반해,

               객체의 개별 데이터는 프로퍼티(property)라 한다.

              ` 객체명.프로퍼티명 또는 객체명[‘프로퍼티명’]

                     var obj = { x:’안녕하세요’, y:’헬로우’, z:’올라’ };

                     document.writeln ( obj[‘x’] );

           - 함수리터럴 : 자바스크립스에서는 함수도 데이터타입의 하나이다.

           - 미정의값(undefined)

                     var x;

                     var obj = { a:100 };

                     document.writeln ( x );

                     document.writeln ( obj.b );

 

 

 

 

5. 연산자

 

 

 

 

산술

+, - , *, / , %, ++, --

비트

&, |, ^, ~, <<, >>, >>>

논리

&&, ||, !

비교

==, !=, <, <=, >, >=, ===, !==

대입

=, +=, -=, *=, /=, %=, &=, |=, ^=, <<=, >>=, >>>=

           ` === : 값이 같고 데이터타입도 같으면 true

           ` !== : 값이 같지 않거나 데이터타입이 다른 경우 true

           document.writeIn ( 0.2 * 3 );        //0.60000000000001

           document.writeIn ( 0.2 * 10 * 3  === 0.6 * 10  );    // true

 

 

 

 

6. 제어문

 

 

           ` 조건문 : if  / switch~case

           ` 반복문 : while / do~while / for

           ` 반복제어문 : break / continue

           ` 예외처리문 : try~catch~finally

 

 

   (*) 배열이나 객체의 for

           var member = [‘김길동’, ‘이길동’, ‘박길동’];

           for( var i in member ) {

                     document.writeln(‘멤버 :’ + member[i] );

           }

           var obj = { width:30, height:40 };

           for( var j in obj ) {

                     document.writeln( j + obj[j] );

           }

           var book = new Object();

           book.title = ‘자바스크립트마스터북’;

           book.publish=’JPUB’;

           book.price = 28000

           for( var k in book ) {

                     document.writeln( k + “ : “ + book[k] );

           }

 

 

 

 

7. 객체란?

 

 

           객체 = 프로퍼티 + 메소드

 

 

객체생성

var str = new String(‘안녕하시렵니까’);

                ( 그러나, 일반적으로 var str = ‘안녕’; 이라 기술 )

멤버접근

str.length     (객체명.프로퍼티명 or 객체명.메소드명( ) )

 

 

(1) String 객체

 

 

검색

 

 

 

indexOf( substr [,start] )

 

 

부분문자열 substr start+1번째부터 검색

 

 

 

lastIndexOf( substr [,start] )

 

 

부분문자열 substr을 뒤에서부터 start+1번째부터 검색

 

 

 

부분문자열

 

 

 

charAt(n)

 

 

n+1번째 문자를 추출

 

 

 

slice( start [,end] )

 

 

start+1에서 end 번째 문자를 추출

 

 

 

substring( start [,end] )

 

 

start+1에서 end 번째 문자를 추출

 

 

 

substr ( start [, cnt] )

 

 

start+1에서  cnt 만큼의 문자를 추출

 

 

 

split ( str [, limit] )

 

 

str 문자열을 limit으로 분할하여 배열로 반환

 

 

 

정규표현

 

 

 

match ( reg )

 

 

정규표현 reg로 문자열을 검색

 

 

 

replace ( reg, rep )

 

 

정규표현 reg로 문자열을 검색하여 rep로 치환

 

 

 

search ( reg )

 

 

정규표현 reg로 문자열을 검색, 일치한 맨 처음위치 반환

 

 

 

대소문자

 

 

 

toLowerCase( )

 

 

소문자로 변환

 

 

 

toUpperCase( )

 

 

대문자로 변환

 

 

 

그 외

 

 

 

concat(str)

 

 

문자열 뒤에 문자열 str 붙임

 

 

 

length

 

 

문자열 길이 반환

 

 

 

 

 

 [실습]

  <script type="text/javascript">             

           var str = '너의 삶 속에 나의 삶을 넣어 삶을 영위하자';

           document.writeln( str.indexOf('') + '<br/>');

           document.writeln( str.lastIndexOf('')+ '<br/>');

           document.writeln( str.indexOf('인생') + '<br/>');

           document.writeln( str.length + '<br/>');

 

 

           var msg = '자바에서 웹프로젝트까지 열심히 하자!';

           document.writeln( msg.charAt(3)+ '<br/>');

           document.writeln( msg.slice( 5, 12 )+ '<br/>');

           document.writeln( msg.substring( 5, 12 )+ '<br/>');

           document.writeln( msg.substr(5, 7 ) + '<br/>');

           document.writeln( msg.split(' ')+ '<br/>');

           document.writeln( msg.concat('화이팅')+ '<br/>');

   </script>

          

(2) Number 객체

 

 

     - 자바스크립트의 자동형변환으로 인해 버그의 문제가 발생하기에

           Number 객체로 변환하던 parseInt( ) parseFloat( )를 사용한다.

 

 

           document.writeln( 123 + “순서” );  // String

           document.writeln( ‘123’ - 10 ) ;     // Number

           (*) + 연산자는 한쪽 값이 문자열이면 문자열로 변환하기만 - 연산자는 수치로 변환한다.

 

 

(3)  Array 객체

 

 

concat( arr )

 

 

지정 배열을 현재의 배열에 붙임

 

 

 

join ( ch )

 

 

배열 내의 요소를 구문문자로

 

 

 

slice ( start [,end] )

 

 

start ~ end-1 번째 요소를 축출

 

 

 

splice ( start, cnt [,rep] )

 

 

배열 내의 start+1 ~ start+cnt+1 번째 요소를 rep로 대체

 

 

 

pop ( )

 

 

배열 끝의 요소를 삭제

 

 

 

push( data )

 

 

배열 끝에 요소를 추가

 

 

 

shift ( )

 

 

배열 선두의 요소를 삭제

 

 

 

reverse ( )

 

 

역순으로 정렬

 

 

 

sort ( )

 

 

정렬

 

 

 

toString ( )

 

 

문자열로 변환

 

 

 

length

 

 

배열의 크기

 

 

 

 

    [실습]

    <script type="text/javascript">          

           var arr = ['김태희','송혜교','전지현','한가인','김하늘'];

           document.writeln( arr + '<br/>');

           document.writeln( arr.join('/')+ '<br/>');

           document.writeln( arr.slice(3) + '<br/>');

           document.writeln( arr.slice(1,4) + '<br/>');

 

 

           document.writeln( arr.pop() + '<br/>');

           document.writeln( arr + '<br/>');

           document.writeln( arr.shift() + '<br/>');

           document.writeln( arr + '<br/>');

           document.writeln( arr.push('사미자') + '<br/>');

           document.writeln( arr + '<br/>');

 

 

           document.writeln( arr.reverse() + '<br/>');

           document.writeln( arr.sort() + '<br/>');

           document.writeln( arr.toString() + '<br/>');

           document.writeln( arr.length + '<br/>');

 

 

           var arrTemp = ['강동원', '고수' ];

           document.writeln( arr.concat(arrTemp) + '<br/>');

    </script>

 

 

(4) Date 객체

 

 

   [실습]

          //var d = new Date( 2013, 8, 15 ); -> 8 9월로 인식

           var d = new Date('2013/08/15');

           document.writeln( d  + '<br/>');

           document.writeln( d.getFullYear()  + '<br/>');

           document.writeln( d.getMonth()  + '<br/>');

           document.writeln( d.getDate()  + '<br/>');

           document.writeln( d.getDay()  + '<br/>');

 

 

           var today = new Date();

           today.setFullYear(2013);

           today.setMonth(7);         // 8

           today.setDate(15);

           document.writeln( today.toLocaleString()  + '<br/>');

           document.writeln( today.toGMTString()  + '<br/>');

           document.writeln( today.toDateString()  + '<br/>');

 

 

           today.setMonth( today.getMonth() - 3 );

           document.writeln( today.toLocaleString()  + '<br/>');

           today.setDate( today.getDate() - 20 );

           document.writeln( today.toLocaleString()  + '<br/>');

 

 

           today.setDate(0); // 전달의 마지막날

           document.writeln( today.toLocaleString()  + '<br/>');

 

 

           </script>

 

 

 

 

8. 정규화 표현식

 

'it > JavaScript' 카테고리의 다른 글

IE 버전 구별.  (0) 2017.09.01
주소 받아오기  (0) 2014.08.21
DOM이용한 동적 테이블 추가에서 삭제까지..  (0) 2014.08.19
getElementById  (0) 2014.08.19
up and down  (0) 2014.08.19