▣ 클래스 : 연관 있는 함수끼리 묶어놓은 문법
■ 만드는 방법
1) 오브젝트 리터럴
2) 함수 방식 클래스
3) 프로토타입 방식 클래스
함수를 사용하기 위해 함수 호출을 해준 것처럼
클래스에 담긴 기능을 사용하기 위해서는 인스턴스를 생성해야함.
※ 인스턴스 = 객체
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | function Calc(){ this.add = function(a,b){ alert("두 수의 합은"+(a-b)+"입니다."); } this.sub = function(a,b){ alert("두 수의 차는"+(a-b)+"입니다."); } this.mul = function(a,b){ alert("두 수의 곱은"+(a*b)+"입니다."); } this.div = function(a,b){ alert("두 수의 나눈 값은"+(a/b)+"입니다."); } } | cs |
순서1) 인스턴스 생성
순서2) 접근연산자(.)를 사용한 프로퍼티와 메서드 접근
1 2 3 | var cal1 = new Calc(); cal1.add(10,20); | cs |
■ 프로퍼티 : 클래스 내부에 만들어진 변수
■ 메서드 : 클래스 내부에 만들어진 함수를 메서드 또는 멤버함수라고 부름
▣ jQuery : 자바스크립트 DOM 작업을 쉽게하기 위한 크로스브라우징 라이브러리다.
■ 자바스크립트 DOM
노드 추가,삭제,이동 , 스타일변경 , 속성변경, 이벤트처리 등의 기능을하는 코어 라이브러리다.
■ jquery 사용법
1) jQuery 라이브러리 연결
<script src="../libs/jquery-1.10.0.min.js"> </script> | cs |
2) ready() 메서드 사용
1 2 3 4 5 6 7 8 9 10 11 12 13 | <script src="../libs/jquery-1.10.0.min.js"></script> <script> // 예제 : li 태그 글자색을 빨간색으로 변경하기 $(document).ready(function(){ $("#menu li").css("color","#f00"); }) // 예제 : select 선택자가 적용된 노드 지우기 $(document).ready(function(){ $("li.select").remove(); }) </script> | cs |
※ $ = 함수
▣ 함수 단위 프로그래밍
■ 변수
□ 리터럴 방식 : 말 그대로 원시라는 뜻을 가지고 있다.
var age = 10 , var str = "hi"; | cs |
□ 객체 방식
var age = new Number(10) , str = new String("hi"); | cs |
보통은 리터럴 방식을 많이 사용한다.
■ 함수
□ 리터럴 방식
var hello = function(){ alert("hi") } | cs |
□ 일반적인 방식
function hello(){ .. } | cs |
□ 객체 방식
var hello2 = new Function("name","alert(name+'님');"); | cs |
보통은 일반적인 방식을 많이 사용한다.
■ 익명 함수 : 함수 리터럴 방식으로 만들어진 이름없는 함수로서 특정 부분에 사용되거나
일회용 함수로서 쓰임.
$(document).ready(function(){ // 익명함수 사용전 function hello(){ alert("hi"); } $("#btnStart").click(hello); // 익명함수 사용후 $("#btnStart").click(function(){ alert("hi"); } }) } | cs |
■ 중첩 함수
□ 사용 이유1 : 함수 내부에서만 사용하는 기능을 재사용 또는
구분을 짓기 위해 내부에 만들어둠
예시) 1초에 한번씩 안녕하세요를 출력하세요.
function hello(){ document.write("안녕하세요"); } function startHello(){ setInterval( hello , 1000); } | cs |
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
function startHello(){ setInterval( function() { document.write("안녕하세요"); } , 1000); } | cs |
□ 사용 이유2 : 중복 코드 또는 코드 그룹화 제거
함수 내부의 커다란 기능이나 중복코드를 내부함수로 만들어 재사용함.
예시) 텝 메뉴를 만드는데 필요한 기능함수3개가 있다.
이 기능함수는 오직 텝메뉴만을 위해 사용하기 때문에 굳이 외부로 뺄 필요없이
텝 메뉴 함수 내부 안에서 모두 처리하게 한다.
■ each 반복문
[type1]
$("selector").each(function(index,element) { alert(index + element); }); index = 반복문의 회전수 element = $(this) = 현재 선택된 요소 | cs |
[type2]
$.each(array, function(i,e){ alert(e); } ); $.each() 함수는 특정한 집합을 반복문 형태로 사용할 수 있다. | cs |
▣ jquery 필터셀렉터
페이지에 특정 요소를 잘 추출하려면 필터셀렉터를 알아야한다. https://javacpro.tistory.com/40 [버물리의 IT공부]
:fitst
첫번째로 일치하는 요소를 가져온다.
:last
마지막으로 일치하는 요소를 가져온다.
:even
짝수번째 요소를 모두 가져온다 ( first index : 0 )
:odd
홀수번째 요소를 모두 가져온다 ( first index : 0 )
:eq(index)
인자로 전달된 index에 해당하는 요소를 가져온다. ( first index : 0 )
:gt(index)
인자로 전달된 index 보다 큰 index를 가진 요소를 모두 가져온다.
:lt(index)
인자로 전달된 index 보다 작은 index를 가진 요소를 모두 가져온다.
:has(selector)
인자로 전달된 selector 요소를 하나 이상 포함하고 있는 요소를 가져온다.
:not(selector)
인자로 전달된 selector 와 일치하지 않는 모든요소를 가져온다.
사용예시 : https://jdh5202.tistory.com/447
'프로그래밍' 카테고리의 다른 글
파이썬을 exe 실행파일로 변환하는 방법 (0) | 2019.03.03 |
---|---|
Python3에서 utf-8 파일 읽고 쓰기 (0) | 2019.03.03 |
오토핫키 매뉴얼 (0) | 2018.05.10 |
ELK 스택 (Elasticsearch,Logstash,kibana) 구축 (0) | 2017.12.12 |
함수 호출 규약 (0) | 2017.12.03 |