Frontend 100

깊은 복사(deep copy), 얕은 복사(shallow copy)

자바 스크립트의 데이터 타입 기본 데이터 타입 (원시 타입) string, number, null, undefined, symbol 참조형 데이터 타입 Array, Object 참조형 데이터는 변수가 객체의 주소를 가리키는 값 -> 복사된 값(주소)이 같은 값을 가리킴. var obj2 = obj1; 그래서 위와같이 일반적인 복사를 하면 복사한 데이터(obj2)를 수정하면 원본 데이터(obj1)도 같이 변경됨. -> 얕은 복사가 일어남!! 얕은 복사 Shllow Copy 이처럼 객체를 복사할 때 원본과 복사본이 같은 참조주소를 갖는 것을 얕은 복사라고 한다. 깊은 복사 Deep Copy 깊은 복사는 복사본의 원본과의 참조가 완전히 끊어진 객체를 말한다. 참조 공간도 같이 복사된다. 1. 배열 복사 sli..

Frontend/javaScript 2022.04.30

slideToggle/ slideUp/ slideDown

jQuery에서의 슬라이드(slide) 효과는 해당 요소의 CSS height 속성값을 빠르게 변경하여 표현. target 요소가 스르륵 접히고 펼쳐지는 효과를 구현할 수 있다!! 파라미터 : .slideToggle( [움직임 시간(duration)] [, 늦춤 함수(easing)] [, 움직이고 나서 실행할 함수(callback)] ) 기본은 400 (0.4초)이다. 숫자 대신 “slow”(600), “fast”(200) 등의 예약어도 사용가능 $("#elementId").slideUp(500); // id가 "elementId"인 요소를 0.5초 동안 올라가면서 사라지게 한다. slideUp() : 요소를 사라지게함. slideDown(): 요소를 나타냄. slideToggle(): 현제 요소의 상태..

Frontend/jquery 2022.03.08

callback 함수

1. callback 함수란? 다른 함수의 인자로 넘겨져 함수 실행 후에 실행되는 함수. 자바스크립트는 동기식 처리를 하기 때문에 2개 함수를 연이어 작성할 경우 앞의 함수가 끝나기 전에 뒤의 함수가 먼저 실행되는 경우가 있는데, 앞의 함수가 실행된 다음 뒤의 함수가 실행되게 하고싶은 경우 사용하는 방법 중 하나이다. 또는 먼저 실행된 함수의 결과값을 받아 사용해야하는 함수일 경우에 사용한다. 2. 작성 방법 Func1을 호출할때 파라미터로 Func2의 name을 넘김. function Func1(param, callback) { $.ajax({ url: url, type: "POST", contentType: "application/json", dataType: "json", data: param, a..

Frontend/javaScript 2022.03.08

jquery event 중복 발생 방지/ event 해제

Event Bubbling jQuery 이벤트가 여러 번 실행되는 경우. target 요소의 부모 태그들도 이벤트에 반응함. 1.stopPropagation() / preventDefault() 가장 일반적인 이벤트 버블링을 방지하기 위한 방법!! e.stopPropagation() 현재 이벤트가 부모에게 전파되는 것을 방지 e.preventDefault() 현재 이벤트 기본 동작 중지 *기본 동작: a태그의 페이지 이동, submit 태그 form 안에 있는 input 등을 전송 $("#elementId").on('click', function(e) { e.stopPropagation(); e.preventDefault(); }); 2. stopImmediatepropagation() 1번의 두가지를 ..

Frontend/jquery 2022.03.08