본문 바로가기

자바스크립트23

[Javascript] Object 객체에 .forEach() 가 안먹을 때 화면단 개발을 하면서 화면에 객체를 내릴 일이 생겼다. 이 과정에서 나름 화면에 노출되는 정보를 최대한 숨기겠다고 첫 번째 방식이 아닌, 두 번째 방식인 Object 객체로 내렸다. // 이렇게 내릴까? user = [ { 'id':'vvh-avv', 'name':'홈주' }, { 'id':'hajs', 'name':'하지수' } ] // 아니야 이렇게 내리자! user = { 'vvh-avv' : '홈주', 'hajs' : '하지수' } 근데 여기서 문제는.. user 를 돌면서 이름을 가져와야 했는데 ㅜㅜ 어느 때와 같이 .forEach() 를 했는데 안먹었다. 하지만 당황하지않고 다른 방법(.map() / .reduce()) 을 써봤는데도 안되더라. 😓 여기서 내가 간과했던 점은 Object 는 I.. 2020. 5. 14.
[JavaScript] 헷갈리지 말자! for loop 유형 (in, of) 화면단 스크립트를 짜면서 for 문을 도는데, 뭔가 이상하다 🤨 ... 왜 for loop 이 내가 원하는대로 안돌까 ... !!!!! 그 이유를 찾고, 앞으로 헷갈리지 않기 위해 작성하는 포스팅 :) 1. for in loop for in loop 는, for loop 를 "Index" 기준으로 돈다. 2. for of loop for of loop 는, for loop 을 "value" 기준으로 돈다. jQuery 대신 자바스크립트로 풀어야 할 땐 이 점 유의해서 원하는 for loop 를 사용하자 😉 2020. 3. 12.
[JavaScript] Ajax Error Callback 에서 this.~ 호출 주의 Ajax 통신 시 보통 에러 콜백을 설정해서 후단 처리를 진행하는데, 에러 콜백에서 같은 스크립트 파일에 있는 function 을 부르겠다고 this.~ 을 하게 되니 크롬에서 오류가 발생했음.. 이유는, this 를 걸어버리는 순간 'a' 가 아니라 'ajax' 를 바라보기 때문임... var a = { /* 알럿을 띄우는 function */ displayAlert : function(msg) { alert(msg); }, /* 여기부터 실행한다고 가정 */ init : function() { $.ajax({ url : ~~~ ... success : function() { console.log("success!"); }, error : function() { this.displayAlert("알럿을.. 2019. 10. 2.
[Javascript/jQuery] 현재 페이지 URL 가져오기 자바스크립트로 현재 보고있는 페이지의 URL 을 가져와야 하는 경우가 생겼다. 그 URL 을 변수에 담아서 파싱해야하는데, 먼저 location.href 타입이 뭔지 확인해봤다. 그래서 string 잘 뽑혀와지는지 아래와 같이 확인해봤는데 .. var location = location.href; console.log(location); ㅋㅋㅋㅋ 아니 페이지가 계속 새로고침 되잖아 ??? -> document.url 로 해볼까 ??? -> 동일하네 ?? -> 구글링 해봤는데 별 얘기가 없네 ? 무한 고민하다가 결국 jQuery로 적용했다 ;; => $(location).attr('href') var location = $(location).attr('href'); console.log(location);.. 2019. 9. 9.
input 태그에 숫자만 입력가능하도록 설정하기 화면을 개발하다보면, 누구나 한 번 쯤은 겪게 될 상황.input 태그에 숫자만 입력가능하도록 하는 것. 아마 일부분의 사람들은 input 타입을 text 로 설정한 뒤 onKeyup 이나 onKeyPress 등으로 이벤트를 잡아 숫자로 치환하는 방식을 쓸 것이다. 1cs 123onlyNumber : function(obj) { obj.value = obj.value.replace(/[^0-9]/g, '');}Colored by Color Scriptercs 하지만, 이 방법보다 더 좋은 방법이 있다. input type 을 "text" 로 하면 일반 키패드가 뜨니 HTML5 에서 새로 추가된 "number" 를 사용하면 숫자키패드가 노출된다는 것.(이것만 바꾼다고 해서 다 되는 것은 아니다, AOS 에.. 2019. 7. 26.
KB927917 오류 해결 및 자바스크립트에서 Map 온전히 사용하기 자바스크립트에서 Key, Value 로 사용할 일이 생겨서 너무나 당연하게 아래와 같이 Map 을 선언, 사용했다.1234567var testScript = { map: new Map(), init: function() { ... }, ...};cs 그런데! 기획자 분에게 IE8 에서 페이지가 안뜬다고 연락이 왔다.. 이상하다, 내 VM에 있는 IE로 IE8 테스트했었는데..접속한 원격주소 받아서 확인해보니 진짜 페이지가 안뜬다 ㅋㅋㅋㅋㅋ 아래는 오류메세지.HTML Parsing Error: Unable to modify the parent container element before the child element is closed (KB927917) 와. 진짜 엄청 애먹었다.사유를 보고 태그도 다 주.. 2019. 6. 14.