javascript에서 객체인지 배열인지 구분하기 위해 isArray함수를 이용한다. 보통 해당 변수의 타입을 확인할때 typeof를 많이 쓰지만 typeof함수는 객체든 배열이든 전부 return값이 'object'이기 때문에 배열을 구분할 때는 사용하지 않는다. isArray() 파라미터로 입력받은 obj가 배열인지 여부를 boolean값으로 리턴합니다. 파라메터 : 배열인지 검색할 객체 리턴값 : 객체가 배열이면 true, 배열이 아니면 false를 리턴합니다.
보통 참이다 거짓이다에 따라 결과를 뽑아내고자 할때 if문을 자주 사용한다. 예를 들면 위와 같이 true/false를 비교하는데, else if를 활용하지 않고 참/거짓만 판단 할 경우에는 "삼항연산자"라는 녀석을 이용하는 게 코드가 더 깔끔하다고 한다. 삼항연산자는 다음과 같이 사용한다. 대충 보면 참/거짓 ? 참일시 반환 : 거짓일시 반환과 같이 판별 할 변수 ? true일시 반환 : false일시 반환과 같은 형태를 이루고 있다. 여기서는 참/거짓 딱 2개만 판별이 가능하다. 그런데 만약 if문의 else if와 같이 여러 조건들을 두고 싶다면? 그럴 때 사용할 수 있는 게 바로 "이중삼항연산자"이다. 위와 같이 str이 CB001일때는 'CB001입니다.' 라는 로그가 찍히고, CB003일때는 ..
기존에 게시판을 만들 때 제목 위에 마우스 커서를 올리면 게시판 table안의 tr태그의 background에 배경색을 주는 onmouseover과 onmouseout이벤트를 사용했다. (전자정부에 있던 기능을 가져오느라...) 그런데 같이 일하는 담당분의 조언에 따라 단순 css변경인데 굳이 javascript의 이벤트를 사용할 필요가 있냐고 해서 hover로 바꾸었다. 기존에 있던 onmouseover, onmouseout 이벤트를 활용한 코드는 다음과 같다. 해당 에 마우스 커서가 올라 갔을 경우 onmouseover이벤트가 실행되며 해당 코드가 실행된다. 해당 에서 마우스 커서가 나가면 onmouseout이벤트가 실행되면서 해당 코드가 실행된다. 이것을 다음과 같이 에 css를 주었다. 이렇게 c..
오늘 회사에서 같은 팀원이 datepicker가 안찍힌다고 물어봐서 도와준 김에 정리를 해보려고 한다. 우선 datepicker를 클릭하면 다음과 같은 에러가 나오는데 Uncaught TypeError: datepicker is not a function. 에러발생 .datepicker 함수를 찾지 못했단다.. 그럼 JQuery를 잘못 넣었다는 얘기인데.. 해당 소스에는 분명히 JQuery가 잘들어가 있는 상황. 심지어 JQuery 명령어도 잘 먹는다. 그래서 알아본 결과 ( 내 생각 ) .datepicker는 Jquery.js가 아니라 jqueryui.js에서 지원하는 함수인 것 같다. 그런데 jqueryui.js도 인클루드가 되있는 상황... 원래 .datepicker라는 녀석이 jquery가 인클루..
특정 버튼을 클릭시 해당 페이지 스크롤을 맨 아래로 이동시키는 방법을 기록하고자 한다. 우선 @click을 이용하여 gotoBottom()이라는 메서드를 호출하는 게시글(버튼)을 만들도록 하자. 위의 이미지와 같이 gotoBottom이라는 메서드를 호출하는 게시글(버튼)과 스크롤을 해당 위치로 이동시킬 클래스명이 statFooter인 태그를 생성하였다. 여기서 statFooter는 이름과 같이 footer역할을 한다. 그리고 위의 이미지와 같이 gotoBottom 메서드를 선언해준다. 여기서 $('html')을 통해 html태그를 지정해준다. 그 뒤에 제이쿼리의 .animate함수를 사용하면 내의 모든 요소들에 애니메이션 효과를 부여할 수 있다. .animate에서 제공해주는 scrollTop과 offs..
다음과 같은 객체로 이루어진 배열이 있다고 가정해보자. 만약 위에서 name이 호랑이인 객체들만 추출하거나, id안에 숫자가 포함된 객체들을 추출하여 배열로 만들어야 할 때 filter함수를 이용할 수 있다. filer()는 javascript에서 제공하는 내장함수로 1. 원하는 값들을 이용해 새로운 배열을 만들 수 있다. 2. 해당 조건이 true인 값에 대해서만 가져와 배열에 넣는다. 여기서 name이 '호랑이'인 객체들만 추출하여 새로운 배열을 만든다고 하면 다음과 같이 조건을 주어 filter함수를 이용할 수 있다. 배열.filter(function(e) { return 조건 }); 과 같은 형식으로 조건에 맞는 값들을 리턴하여 새로운 배열에 넣을 수 있다. 근데 filter함수를 보면서 느낀 게..