Javascript(8)
-
js 클로저
클로저는 주변 상태(어휘적 환경)에 대한 참조와 함께 묶인(포함된) 함수의 조합입니다. 즉, 클로저는 내부 함수에서 외부 함수의 범위에 대한 접근을 제공합니다. JavaScript에서 클로저는 함수 생성 시 함수가 생성될 때마다 생성됩니다.모듈 정의// myModule.jslet x = 5;export const getX = () => x;export const setX = (val) => { x = val;};import 로 불러오기import { getX, setX } from "./myModule.js";console.log(getX()); // 5setX(6);console.log(getX()); // 6function makeAdder(x) { return function (y) { re..
2024.12.17 -
HTML 요소 뽑아내기
본 게시글에서는 학습을 목적으로 쿼리 작성에 필요한 데이터를 만들기 위해서 올바른 과일 페이지를 참조하였음을 명시합니다. 참고한 사이트 및 페이지 : 올바른 과일 / 시기별 계절별 원산지 제철과일 총정리 (feat. 올바른과일) 시기별 계절별 원산지 제철과일 총정리 (feat. 올바른과일) 시기별 계절별 원산지 . . 너무 헷갈리는 제철과일 올바른과일이 한번에 정리해 드리겠습니다 기준은 실제 ... blog.naver.com 요 며칠전에 종료한 모 프로젝트의 제비용 정산용 통계에 사용했던 쿼리를 적절히 수정해서 나만의 쿼리를 남길 것이다. 그러기 위해서 생각해낸 것이 분기별 과일 판매량이다. 판매 데이터는 임의로 넣을 것이며 시기별로 어떤 과일이 있는지 확인하기 위해서 상단에 언급한 사이트에서 필요한 데..
2023.12.03 -
[JQuery] selector 한꺼번에 지정하기
여러 개의 HTML 요소에 대해 동일한 이벤트를 처리하려고 할 때 이렇게 쓰면 된다. $('selector1, selecotr2, selectorN').on('이벤트', function(arg){}); --- $('#id-one').on('이벤트', function(arg){}); $('#id-two').on('이벤트', function(arg){}); $('#id-three').on('이벤트', function(arg){}); --- // 소스 코드량도 줄이고 $('#id-one, #id-two, #id-three').on('이벤트', function(arg){});
2023.11.20 -
JS 에서 소수점 반올림 처리하기
SQL 에서는 ROUND(소수값, 유지할 자릿수) 만으로 소숫점 몇 째자리까지 유지할 수 있다. [ SQLITE 기준 ] SELECT ROUND(12345.67890) AS ROUNDING; -> 12345 SELECT ROUND(12345.67890, 2) AS SOSU; -> 12345.68 하지만 자바스크립트에서는 ROUND 함수로 소수점 자리유지를 할 수 없다. 항상 반올림된 정수로 된 결과로 나온다. Math.round(12345.67890) -> 12346 Math.round(12345.67890, 2) -> 12346 소수점 자리를 유지하려면 Math.round(소수값 * 10^N) / 10^N 으로 처리하면 된다. 소수점 둘째 자리이면 10의 제곱인 100 을 쓰면 된다. Math.roun..
2023.11.20 -
그리드 - Tabulator 엑셀 형식으로 다운로드하기
Tabulator 에서 현재 그리드의 데이터를 XLSX 형식으로 다운로드하는 API 는 다음과 같다. let tableObj = new Tabulator(...); function downloadXLS() { tableObj.download("xlsx", "파일명.xlsx"); } 기본 설정에서 Tabulator 에서는 통데이터를 그대로 출력해버리기 때문에 레코드가 1000 개를 넘어가면 다운로드 시간도 지연되며 더욱이 그많은 데이터를 다 받아야 하나 싶을 정도로 부담스러워진다. 다행히 이것을 해결하는 방법 중의 하나로 범위를 지정해서 다운로드할 수 있다. 현재 검색으로 찾아낸 방법인데 현재 선택된 행만 다운로드하는 것이다. 그런데 여기서 또 한 가지 문제점이 존재한다. selected 를 써서 현재 선..
2023.11.03 -
$(document).on('change', <select>, function() {...}
호랑이 담배 먹던 시절에 java Swing 으로 UX 만들 때도 이벤트 리스너를 지우고 선택상자를 초기화한 후에 다시 이벤트 걸고... 많이 했던 짓인데, SI 에서 촉박한 시간에 개발하려다가 이벤트 꼬이고 짱구는 안돌아가고 아휴!! 그래서 재현해봤다. spring, ajax 다 빼고 단순히 HTML + js 로. 이게 핵심이니까. (jquery 는 넣었다.) 이게 어떤 상황이냐면, 그리드의 특정 ROW 를 더블클릭했을 때 해당 데이터를 수정하기 위한 다이얼로그를 띄울 때 기존 설정값이 SELECT 박스에서 선택되도록 하는 부분이다.
2023.09.24