-
2017.05.21
현재 월에 해당하는 달력 출력
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 var date=new Date(); var y=date.getFullYear(); var m=date.getMonth(); var d=date.getDay(); var theDate=new Date(y,m,1); var theDay=theDate.getDay(); var last=[31,28,31,30,31,30,31,31,30,31,30,31]; if(y%4&&y%100!=0 || y%400==0) lastDate=last[1]=2..
-
2017.05.21
정규 표현 객체
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 var str="Html Css Jquery"; var reg1=/css/; // var reg1=new RegExp)("css") // 변수 str에 데이터가 reg1에 정규 표현 규칙을 잘 지켰으면 true를 반환하고, 안 지켰을 경우에는 false를 반환함. var result_1=reg.test(str); document.write(result_1, " "); // 옵션에 'i'를 입력하면 영문 대소문자를 구분하지 않음. var reg2=/css/i..
-
2017.05.21
이메일 유효성 검사
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 var userEmail=prompt("당신의 이메일 주소는?", ""); var arrUrl=[".co.kr",".com",".net",".or.kr","go.kr"]; var check1=false; var check2=false; if(userEmail.indexOf("@")>0) check1=true; for(var i=0; i0) check2=true; } if(check1&&check2) { document.write(uderEmail); } else { alert("이메일 형식이 잘못되었습니다."); } Colored by Color Scripter cs 소스 출처 : Do It! 자바스크립트+제..
-
2017.05.21
문자 객체
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 var t="Hello Thank You good luck to you"; document.write(t.charAt(16), " "); // 인덱스 16에 저장된 문자를 볼러옴. -> "g" document.write(t.indexOf("you",16), " "); // 문자열 왼쪽에서부터 최초로 발견된 "you"의 인덱스 값을 반환함. -> 12 document.write(t.lastIndexOf("you"), " "); // 문자열 인덱스 16 위치부터 최초로 발견된 "you"의 인덱스 값을 반환함. -> 29 document.write(t.alstIndexOf("y..
-
2017.05.21
배열 객체
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 var d=[30, "홍기동", true]; document.write(d[0], " "); document.write(d[1], " "); document.write(d[2], " "); for(var i=0; i var greenLine=["사당","교대","방배","강남"]; var yellowLine=["미금","정자","모란","수서"]; greenLine.spl..
-
2017.05.21
수학 객체
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 var num=2.1234; var maxNum=Math.max(10, 5, 8, 20); // 최댓값 반환 var minNum=Math.min(10, 5, 8, 20); // 최솟값 반환 var roundNum=Math.round(num); // 반올림 값 반환 var floorNum=Math.floor(num); // 소수점에서 무조건 내림 var ceilNum=Math.ceil(num); // 소수점에서 무조건 올림 var rndNum=Math.random(); // 0~1 사이의 난수 발생 var piNum=Math.PI; // 원주율 상수 반환 document.write(maxNum, " ");..
-
2017.05.21
숫자 객체
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 var num=3.456784; var num2=70000; var num3="30.5px"; var num4=40; document.write("표현 가능한 가장 큰 수:"+Number.MAX_VALUE, " "); document.write("표현 가능한 가장 작은 수:"+Number.MIN_VALUE, " "); document.write("숫자가 아닌 경우의 표기:"+Number.NaN, " "); document.write("무한대 수 표기:"+Number.POSITIVE_INFINITY, " "); document.write("음의 무한대 수 표기:"+Number.NEGATIVE_INFINITY, " "..
-
2017.05.21
날짜 정보 객체
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 var tv=new Object(); tv.width="30cm"; tv.height="25cm"; tv.weight="20kg"; tv.color="white"; tv.off=function(){ document.write("전원 off", " "); } document.write(tv.width, " "); document.write(tv.height, " "); document..
-
2017.05.21
현재 연도와 월에 해당하는 전체 일자 출력
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 var year=prompt("현재 몇 년입니까?","0000"); var mon=prompt("현재 몇 월입니까?", "0"); var last_day; switch(mon){ case "1": last_day=31; break; case "2": last_day=28; /* 현재 연도가 4년 주기이고 100년 주기는 아닌경우 또는 400년 주기로 윤년. 윤년은 2월은 ..
-
2017.05.21
구구단 출력 프로그램
1 2 3 4 5 6 7 8 9 for(var i=2; i
-
2017.05.21
Boolean/Typeof/Texttable/If/For/While/Switch/Confirm Test
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 12..
-
2017.05.21
간단한 실행문
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 맛보기 예제 // 지바스크립트 선언문 var age = prompt("당신의 나이는?", "0"); // 질의 응답 창을 띄움 if(age>=20) { document.write("당신은 성인입니다."); } else { document.write("당신은 미성년자입니다."); } document.write("welcome!"); console.log("javascript"); //* 자바스크립트 실행문; Colored by Color Scripter cs 소스 출처 : Do It! 자바스크립트+제이쿼리 입문 (정인용 지음, 이지스퍼블리싱)
-
2017.05.21
이벤트 객체 (Event Object)
* 이벤트 객체 생성하기 - 이벤트 객체는 사이트에서 방문자가 이벤트를 발생시킬 때마다 생성할 수 있음. - 이렇게 생성된 이벤트 객체의 속성을 이용하면 다양한 이벤트 정보를 가져올 수 있음. - 이벤트 객체 생성은 IE 8 이하 버전의 브라우저와 그 외의 브라우저(파이어폭스, 크롬, 사파리, 오페라, IE(9 이상) 등)에서 각각 방법이 다름. [파이어폭스, 크롬, 사파리, 오페라, IE 9 이상에서 이벤트 객체 생성하기] 1 2 3 4 5 document.onkeydown=function(e){ alert(e); } cs [IE 8 이하 브라우저에서 이벤트 객체 생성하기] 1 2 3 4 5 document.onkeydown=function(e){ alert(window.event); } cs - IE..
-
2017.05.21
이벤트 (Event)
* 이벤트란? - 브라우저에서 방문객이 취하는 모든 동작을 이벤트라고 함. - 이벤트가 발생했을 때 자바스크립트 실행문을 실행하는 것을 이벤트 핸들러라고 함. - 즉, 이벤트 발생 시 자바스크립트 코드가 실행됨. - 이벤트 종류 종류 설명 마우스 이벤트 onmouseover 마우스가 지정한 요소에 올라갔을 때 발생함. onmouseout 마우스가 지정한 요소에서 벗어났을 때 발생함. onmousemove 마우스가 지정한 요소 영역에서 움직일 때 발생함. onclick 마우스가 지정한 요소를 클릭했을 때 발생함. ondblclick 마우스가 지정한 요소를 연속 두 번 클릭했을 때 발생함. 키보드 이벤트 onkeypress 지정한 요소에서 키보드가 눌렸을 때 발생함. onkeydown 지정한 요소에서 키보드..
-
2017.05.20
함수 (Function)
* 기본 함수 정의문 - 함수를 사용하여 실행문을 저장한 것을 함수 정의문이라고 함. - 함수 정의문의 기본형 function 함수명() { 일련의 실행문; } 참조 변수 = function() { 일련의 실행문; } - 정의되어 있는 함수를 호출하는 기본형 함수명(); 또는 참조 변수(); * 매개 변수가 있는 함수 정의문 - 기본형 function 함수명(매개 변수 1, 매개 변수 2, ... , 매개 변수 n) { 스크립트 실행문; } 함수명(데이터 1, 데이터 2, ..., 데이터 n); * 내장 함수 - 내장 함수는 자바스크립트 엔진에 내장된 함수 정의문을 말함. - 내장 함수는 함수 정의문의 선언 없이 단지 함수 호출만으로 자바스크립트에 이미 내장된 함수를 사용할 수 있음. - 내장 함수의 종..
-
2017.05.20
문서 객체 모델(DOM)
* 문서 객체 모델(DOM) - (X)HTML 문서의 구조를 가리켜 문서 객체 모델(DOM: Document Object Model)이라고 함. - (X)HTML 각 태그마다 기능과 속성이 있음. - (X)HTML 태그는 각각의 기능(Method)과 속성(Properties)을 갖고 있는 문서 객체임. - 자바스크립트의 문서 객체 모델(DOM)은 IE 8 이하 버전과 그 외 파이어폭스, 크롬, 사파리 등의 브라우저 간에 호환성이 떨어진다는 단점이 있음. - 하지만 제이쿼리는 이런 호환성이 떨어지는 단점들을 모두 해결함. [선택자] - (X)HTML에서 사용하는 스타일(CSS)과 자바스크립트 내에서 사용하는 스타일은 모두 (X)HTML의 선택한 요소에 디자인 속성을 바꿀 때 사용함. - 하지만 (X)HTM..
-
2017.05.20
브라우저 객체 모델(BOM)
* 브라우저 객체 모델(BOM) - 브라우저에 내장된 객체를 '브라우저 객체'라고 함. - window는 브라우저 객체의 최상위 객체가 됨. - window 객체에는 하위 객체를 포함하고 있음. - 즉, 계층적 구조로 이루어져 있으며, 이를 일컬어 브라우저 객체 모델(BOM: Browser Object Model)이라고 함. [window 객체] - window 객체 메서드 종류 종류 설명 open() 새 창을 열 때 사용함. alert() 경고 창을 띄움. prompt() 질의응답 창을 띄움. confirm() 확인/취소 창을 띄움. moveTo() 창의 위치를 이동시킬 때 사용함. resizeTo() 창의 크기를 변경시킬 때 사용함. setInterval() 일정 간격으로 지속적으로 실행문을 실행시킬..
-
2017.05.20
객체 / 내장객체
* 객체란? - 자바스크립트는 객체(Object) 기반 프로그래밍 언어. - 객체를 구성하는 요소로는 속성(Property)과 기능(Method)가 있음. - 자바스크립트 객체의 메소드와 속성을 사용하는 기본형 1. 객체.메서드() // 갹체의 매서드를 실행함. 2. 객체.속성; 또는 객체.속성=값; // 객체의 속성값을 가져옴. || 객체의 속성값을 바꿈. * 객체의 종류 - 자바스크립트의 객체는 크게 내장 객체, 브라우저 객체 모델(BOM: Browser Object Model), 문서 객체 모델(DOM: Document Object Model)로 나눌 수 있음. 1) 내장 객체 - 내장 객체는 자바스크립트 엔진에 내장되어 있어, 필요한 경우 생성해 사용할 수 있음. - 내장 객체로는 문자(Strin..
-
2017.05.20
자바스크립트 기초 문법
* 자바스크립트 선언문 - 자바스크립트 선언문은 태그 영역 또는 태그 영역에 선언하면 됨. 1 2 3 자바스크립트 실행문; cs * 자바스크립트 주석 처리 // 한 줄 설명글인 경우 /* 설명글이 여러 줄인 경우 이렇게 처리함 */ * 내부 스크립트 외부로 분리하기 - 외부 자바스크립트 연동 코드로 파일을 연결하는 기본형 * 자바스크립트 코드 입력 시 주의할 점 1. 자바스크립트는 대·소문자를 가려서 씀 2. 실행문을 마치고 나서는 세미콜론(;)을 쓰는 것이 좋음. 세미콜론을 쓰지 않으면, 한 줄에 여러개의 실행문을 작성할 때 문제가 생김. 3. 실행문을 작성할 때는 한줄에 한 문장만 작성하는 것이 가독성을 위해 좋음. 4. 문자형 데이터를 작성할 때는 큰따옴표("")와 작은따옴표('')겹침 오류를 주의..
-
2017.05.20
CSS 요점 정리
* CSS 선언문 - 선언문은 CSS를 HTML의 내부에 작성할 때 반드시 필요함. - 만일 이 선언문이 없으면 브라우저는 CSS를 HTML 언어로 인식하게 됨. * 외부 스타일 연동 방식 link 방식 import 방식 @import:url("경로"); * 선택자의 종류 종류 사용 예 설명 전체 선택자 *{속성:값;} 전체 요소를 선택할 때 사용 요소명 선택자 요소명{속성:값;} 예) h1{속성:값;} 태그 이름(요소명)으로 선택할 때 사용 아이디 선택자 #아이디명{속성:값;} 아이디를 가진 요소를 선택할 때 사용(단독 사용 시) 클래스 선택자 .클래스명{속성:값;} 클래스를 가진 요소를 선택할 때 사용(반복해서 사용 시) 가상 클래스 선택자 a:link{속성:값;} 링크 걸린 텍스트 선택 a:visi..
-
2017.05.20
(X)HTML 요점 정리
*요소의 종류와 특징 구분 블록 요소 인라인 요소 범용 요소 특징 - 줄 바꿈 속성을 가지고 있음. - 기본 너비 속성이 100%임. - 블록 요소를 포함할 수 없지만, 예외인 요소도 있음. - 인라인 요소를 포함할 수 있음. - 줄 바꿈 속성이 없음. - 내용만큼 너비가 유지됨. - 너비와 높이의 속성을 사용할 수 없음. - 블록 요소를 포함할 수 없으며, 인라인 요소는 포함할 수 있음. - 블록 요소임에도 불구하고 모든 요소를 포함할 수 있음. 종류 ~, , , , , , , , , , , , , , , , , , , , , , , , (p 요소만 가능) * 문단 태그 종류 설명 종류 설명 ~ 제목 요소 / 숫자가 작을수록 큰 제목 이미지 요소 단락 구분 요소 링크 요소 주소 태그, 주소를 작성할 때..
-
2017.05.19
WebSocket
* WebSocket이란? - WebSocket은 서버와 실시간으로 쌍방향 통신을 하기 위한 장치임. - 통상 HTTP 프로토콜에서는 리퀘스트/리스폰스 모델로 통신을 수행하지만, WebSocket에서는 TCP/IP상의 독자적인 프로토콜을 통해 통신을 수행함. - WebSocket은 드래프트75(hixie-75)판 이전과 드래프트76(ietf-hybi-00)판 이후의 사양과 프로토콜의 호환성이 없음. - 웹 브라우저가 자원하고 있는 버전과 서버가 지원하는 버전이 일치하도록 해야 할 필요가 있음. IE Firefox Chrome Safari Opera hixie-76/hybi-00 6 5.0.1 11(무효)※ hybi-07 6 hybi-10 7 14 RFC 6455 10 11 16 ※ Opera에서는 기본값..
-
2017.05.19
Server-Sent Events
* Server-Sent Events란? - 보통 서버 측의 상태는 클라이언트가 능동적으로 액세스를 하지 않으면 알 수 없음. - Server-Sent Events는 이러한 제한을 넘어서 서버 측의 상태 변화를 실시간으로 클라이언트에게 통지하기 위한 장치임. 웹 서버 ----------이벤트 스트림 (백그라운드) -------------> 웹 브라우저 ------------------------------------> 웹 서버 서버 측의 상태 변화를 클라이언트에게 통지함. 일단 이벤트 스트림이 완료되면 클라이언트는 자동으로 다시 요청함. - 이벤트 스트림은 통지 내용을 기술한 HTTP 리스폰스인데, 백그라운드에서 자동으로 계속 송수신됨. - 이벤트 스트림의 송수신은 서버 측이 HTTP로 규정된 청크 송신..
-
2017.05.19
Web Messaging
* Web Messaging이란? - JavaScript에서는 오리진이 다른 문서 간에 보안상의 이유로 데이터를 주고받거나 오브젝트에 액세스하는 데 제한이 있음. - Web Messaging은 이러한 제한을 넘어서 안전하게 데이터를 주고받을 수 있는 API임. - 오리진은 문서의 URL 중 스킴, 도메인, 포트를 합친 것을 말함. - Web Messaging에는 아래의 두 가지 API가 있음. 1. 크로스 도큐먼트 메시징 : 탭이나 창 단위로 통신을 구현함. 2. 채널 메시징 : 좀 더 작은 단위로 통신을 구현함. * 크로스 도큐먼트 메시징의 이용 - 크로스 도큐먼트 메시징을 이용하려면 송신처의 window 오브젝트의 postMessaging() 메서드를 호출해야 함. var targetWindow = ..
-
2017.05.19
ApplicationCache
* ApplicationCache란? - ApplicationCache는 이미지나 HTML/CSS/JavaScript와 같은 리소스의 캐시를 로컬 환경에 마련하는 것으로, 오프라인 시에도 온라인 시와 똑같이 사이트나 웹 애플리케이션을 이용할 수 있도록 하는 장치임. * manifest 파일을 사용하여 캐시 지정하기 - 캐시할 리소스는 manifest 파일에서 정의함. - manifest 파일은 UTF-8 형식으로된 텍스트 파일로, html 태그의 manifest 속성을 사용하여 지정함. - 웹 서버가 송신하는 MIME 타입의 설정은 text/cachemanifest로 해 둚. 1 2 3 4 5 6 7 8 9 10 예제 Colored by Color Scripter cs [manifest 파일의 서식] -..
-
2017.05.19
Web Workers
* Web Workers란? - JavaScript에서 시간이 걸리는 처리를 수행하면 화면이 멈추고 사용자가 기다려야 하는 일이 있음. - Web Workers는 이러한 무거운 처리를 백그라운드에서 수행하게 함으로써 사용자와의 통신에 영향을 주지 않도록 할 수 있음. [전용 워커와 공유 워커] - Web Workers에서는 백그라운드 처리를 '워커'라 부르는 실행 단위를 사용하여 수행함. - 워커에는 두 가지 종류가 있음. 1) 전용 워커 : 자신의 생성처하고만 통신을 함. 2) 공유 워커 : 여러 상대와 통신을 할 수 있음. [데이터 송수신] - 데이터를 송수신하는 방법은 워커 측과 호출하는 측이 똑같음. 송신 측 -------------------------------------- 데이터 ------..
-
2017.05.19
File API
* FIle API란? - File API는 사용자의 환겨에 저장된 파일의 속성이나 내용을 구할 수 있는 API를 말함. - File API에서 취급할 수 있는 파일은 두 종류임. 1. 로 선택한 파일 2. 드래그 앤 드롭한 파일 * File 오브젝트 - 파일을 조작하려면 파일을 나타내는 File 오브젝트를 사용해야 함. - File 오브젝트를 구하는 방법은 타입에 따라 다름. [의 경우] - change 이벤트가 발생했을 때 input 요소의 file 속성에 선택한 파일의 목록이 배열로 저장됨. e.onchange = function() { var f = e.files[0]; // 첫 번째(0번) 파일의 File 오브젝트를 구하고 있음. ※ e는 input 요소의 오브젝트 } [드래그 앤 드롭의 경우]..
-
2017.05.19
Indexed Database API
* Indexed Database API란? - Indexed Database API는 Web Storage보다 본격적인 데이터 저장 장치임. - 일반적인 데이터베이스처럼 트랜잭션(일련의 처리를 한 덩어리로 해서 실패한 경우 전체를 원래 대로 되돌리는 장치)을 지원함. [데이터 저장 방법] - Indexed Database API는 관계형 데이터베이스와는 조금 다른 저장 방법을 사용함. - 값을 구할 때 색인이 되는 키(키패스)를 하나 지정할 수 있음. - 검색을 효율적으로 하기 위한 인덱스를 지정할 수 있음. - JavaScript의 오브젝트로 되어 있음. - 값의 행 수가 달라도 저장할 수 있음. * 데이터베이스의 작성과 접속 - 데이터베이스를 작성하려면 window.indexedDB의 open() ..
-
2017.05.19
Web Storage
- JavaScript로 데이터를 로컬 환경에 손쉽게 저장할 수 있음. * Web Sotrage란? - Web Storage는 데이터를 사전과 같은 형식으로 웹 브라우저에 저장하는 장치임. - Cookie와는 달리 서버와의 통신으로 데이터가 보내지는 일은 없음 - 또한 4KB라는 용량 제한이 있는 Cookie보다 큰 데이터를 취급할 수 있음. - 키와 값이 세트로 저장됨. * 로컬 스토리지와 세션 스토리지 - Web Storage에는 로컬 스토리지와 세션 스토리지가 있음. - 세션 스토리지는 저장기간이 동일 세션으로 한정된다는 점이 다름. - 어떤 경우이든 오리진을 넘어서 데이터를 공유할 수는 없음. - 세션 스토리지는 일련의 조작 사이에서만 데이터가 저장됨. - 로컬 스토리지에 저장한 데이터는 웹 브라..
-
2017.05.19
이미지 표시
* Image 오브젝트 작성하기 - 이미지를 표시하기 전에 JavaScript로 이미지를 다루기 위한 Image 오브젝트를 작성함. [파일을 사용하여 만드는 방법] var image = new Image(); image.src="sample.jpg"; [img 요소에서 꺼내는 방법] [HTML] [CSS] var image = document.getElementById("sample1"); * 이미지 표시하기 - 이미지를 표시하려면 drawImage() 메서드를 지정해야 함. - drawImage 메서드의 작성 방법은 세 가지가 있음. drawImage(image, dx, dy); drawImage(image, dx, dy, dw, dh); 이미지를 붙여 넣을 위치와 크기 drawImage(image, ..