프로그래밍 언어/자바스크립트(jQuery)
-
[javaScript] javaScript에서 소수점 더하기 값이 이상하다?프로그래밍 언어/자바스크립트(jQuery) 2019. 6. 15. 16:42
javaScript에서 소수점을 더했는데 결과값이 왜 이상하게 나올까? toFixed()와 Math.round() 고객사에서 버그건으로 연차 잔여일이 2일이 돼야하는데 1.999999...식으로 나온다고 했다. 코드를 확인해봤는데 아무 문제 없었다. 아무리 봐도 이해가 안되서 구글링을 해보니 javascript가 가진 버그라는 stackOverFlow 답변들이 있었다. 현상에 대해 스크린샷 첨부. var a = 0.1; var b = 0.2; var purePlus = a+b; $('#plus').html('javaScript 소수점 더하기 값 : '+(a+b)); 0.3이 나와야하지만 0.3.......004? 그렇다면 어떻게 해결할 수 있을까? toFixed() 함수를 사용하거나 Math.round(..
-
[JavaScript] Converting circular structure to JSON(json 형태의 배열 로그 찍기)프로그래밍 언어/자바스크립트(jQuery) 2019. 1. 18. 10:41
해석하자면, 선회하는 구조를 JSON으로 바꾸려고 해서 나는 에러. 모르는 객체가 어떤 값을 담고있나 찍어보려고 하다가 이런 에러를 발견했다. JSON.stringify로 해봤는데 위의 에러가 나와서 선회하는 구조니까 배열인가 싶었다. for문으로 돌리면서 json형태로 바꿔주면 console을 찍을 수 있지 않을까라는 생각이 들었다. 1234// 에러가 나는 객체가 trNode라고 한다면,for (output in trNode){ console.log("노드 값: "+JSON.stringify(output))}Colored by Color Scriptercs 위와 같이 콘솔을 찍어보니, 잘나온다.
-
[jquery] 동적으로 생성된 요소에 클릭 이벤트 주기프로그래밍 언어/자바스크립트(jQuery) 2018. 2. 27. 16:46
위의 click 함수를 쓰면 동적으로 생성된 html 태그들이 있을 경우 이벤트가 발생되지 않았다. 123456$('#type').click(function(){ $('#hour').html("18"); }); Colored by Color Scriptercs 조금 찾아보니 간단하게 해결할 수 있었다. 아래처럼. 123456 $('#type').on('click', function(){ $('#hour').html("18"); });Colored by Color Scriptercs 또는 1234 $(document).on("click", "#type", function(){ $('#hour').html("18"); });Colored by Color Scriptercs 이렇게 하면 동적으로 생성된 태그들..
-
ajax를 동기식처리 하는 방법(코드의 순서 또는 절차적으로 동작하게 만들기)프로그래밍 언어/자바스크립트(jQuery) 2018. 2. 18. 11:38
데이터를 받아올 때 이 값이 있는지 없는지만 체크하면 되어서 ajax 결과가 데이터가 null인지 아닌지만 체크해주면 되었다. 123456789101112131415161718192021222324252627function checkHoliday(data){ var checkFlag = true; //체크항목 플래그 var params = {};params.empName = $('#empName').val();params.compName = $('#compName').val(); $.ajax({ type: "POST", url: "", dataType: 'json', data: params, success: function(result){ if(result != null){ // do something ..
-
배열의 얕은 복사(Shallow copy) & 깊은 복사(Deep copy)프로그래밍 언어/자바스크립트(jQuery) 2018. 1. 28. 19:45
개발을 하는데, 논리적으로는 분명히 맞는데, 왜 안될까 안될까 하다가 얕은 복사와 깊은 복사라는 개념이 있다는 것을 주임님에게 들어 알게 되었다. 개발 중에 두 배열이 있었는데, 한 배열은 그 객체 값이 변하면 참조되는 객체 값 또한 변했는데, 다른 배열은 그 객체 값이 변했음에도 참조되는 객체 값은 변하지 않아서 '하나는 참조 값이 바뀌는데 왜 다른 하나는 안 바뀌지'라고 계에에에에속 고민했다. 왜냐면 얕은 복사, 깊은 복사의 개념을 몰랐으니까. 그래서 정리! 얕은 복사 & 깊은 복사 1. 얕은 복사란? 얕은 복사는 배열을 복사하지만 복사한 객체가 바뀌면 참조되고 있는 배열 또한 변한다. 안고 있는(?) 객체가 안겨있는(?) 객체의 값에 영향을 준다는 의미이다. 12345678var firstValue..
-
클라이언트단에서 json객체를 key값으로 value 뽑아내기프로그래밍 언어/자바스크립트(jQuery) 2018. 1. 28. 18:42
회사 패키지를 보다 발견한 javaScript에서 json객체를 key값으로 value를 뽑아내는 소스를 보았다. 이런 방법이 있다면 나중에 개발할 때 도움이 될 것 같아서 정리해두기. 1234567var param = {};param.menuName = 'coffee';param.price = 3500;param.customer = 'zorba'; cs 위처럼 json객체를 만들어보았다. 이런 식으로 json객체를 형태를 띌 것이다. param = { "menuName" : 'coffee', "price" : 3500, "customer" : 'zorba'} 개발할 때 서버단에서 json형태로 많이 넘어오기 때문에 데이터에 조작을 하려한다면, key값으로 value를 뽑아내는 게 도움이 될 것 같다. ..
-
클라이언드 단에서 서버단으로 url을 이용해서 파라미터 넘기기.프로그래밍 언어/자바스크립트(jQuery) 2018. 1. 21. 17:38
개발할 때 팝업창을 띄우는 경우, 데이터 조회를 위해 필요한 파라미터를 url로 넘기는 경우가 많았다.(회사 프로젝트 코드를 보면) 팝업창을 띄울 때는 자바스크립트에서 사용하는 window.open()을 사용한다. window.open("url", windowName, windowFeatures)를 이용해 팝업창을 띄우는데 여기서 url에 파라미터를 추가해주는 식이다. 만약 내가 서버로 넘겨주고 싶은 파라미터가 userId, userName, joinDay라면 아래와 같은 방식을 사용하면, 123function openPop(){ window("/test/openPopTest?userId="+${userId}+"&userName="+${userName}+"&joinDay="+${joinDay}, "pop..