JavaScript
-
자바스크립트 스로틀,디바운스JavaScript 2017. 8. 7. 17:58
throttle 밀리세컨드마다 실행의 흐름을 일정하게 유지한다. 스로틀 또는 스로틀링(throttling)은 로직 실행 주기를 만드는 함수라고 이해하면 됩니다. 밀리세컨드 단위로 시간을 설정하면 스로틀에 넘긴 콜백함수는 설정한 시간 동안 최대 한 번만 호출됩니다. debounce 갑작스러운 이벤트(키 입력 등)를 하나로 그룹화합니다. 디바운스는 과다한 이벤트 실행을 방지하기 위해 몇 가지 함수를 한 개의 그룹으로 묶고 특정 시간이 지난 후에야 호출될 수 있도록 구조화하는 것입니다.
-
-
자바스크립트 Execution Context 란JavaScript 2017. 4. 18. 11:31
아래 글(퍼온) 을 읽기전에 실행문맥이 생성되면 최초 효율적인 탐색을 하기 위해 스코프 체인을 형성하는줄 알았는데. 한 뎁쓰가 더 존재하였다는 사실을 알게되었다. 아래문서는 11월 28일 김영보 강사님의 "자바스크립트 중/고급 강좌"를 듣기 위한 정리로 David Shariff의 blog 문서를 정리한 것이다. http://davidshariff.com/blog/what-is-the-execution-context-in-javascript/ 1. Execution Context? 자바스트립트가 실행될때 실행되는 환경은 매우 중요하며 다음과 같은 것으로 분류된다 Global Code - 코드가 첫번째로 실행되는 기본환경 Function code - Whenever the flow of execution e..
-
자바스크립트 태스크 큐, 이벤트 루프,JavaScript 2017. 3. 28. 10:19
태스크 큐 - 콜백 함수들이 대기하는 큐 형태의 배열을 의미한다. 이벤트 루프 1.현재 실행중인 태스크가 없는지와 태스크 큐에 태스크가 있는지를 반복적으로 확인 2.호출 스택이 비워질 때마다 큐에서 콜백 함수를 꺼내와서 실행하는 역할을 해 준다. 태스크 큐 개념 + 이벤트 루프 개념 예제 function delay() { for (var i = 0; i < 100000; i++); } function foo() { delay(); bar(); console.log('foo!'); } function bar() { delay(); console.log('bar!'); } function baz() { console.log('baz!'); } setTimeout(baz, 10); (A) foo(); (B) ..
-
자바스크립트 배열 리터럴JavaScript 2017. 3. 15. 17:50
배열 리터럴 배열 리터럴은 0개 이상의 식(expression) 목록입니다. 각 식은 배열 요소를 나타내고 대괄호([])로 묶입니다. 배열 리터럴을 사용하여 배열을 만들 때, 그 요소로 지정된 값으로 초기화되고, 그 길이는 지정된 인수의 갯수로 설정됩니다. 아래 예제는 요소가 3개로 길이가 3인 coffees 배열을 만듭니다.var coffees = ["French Roast", "Colombian", "Kona"]; Note: 배열 리터럴은 일종의 객체 이니셜라이저(initialiizer)입니다. Using Object Initializers 참고. 배열이 최상단 스크립트에서 리터럴을 사용하여 만들어진 경우, JavaScript는 배열 리터럴을 포함한 식을 평가할 때마다 배열로 해석합니다. 게다가, 함..
-
자바스크립트 classList 정의 및 js만들어보기JavaScript 2016. 5. 13. 11:16
제이쿼리의 DOM을 다루는 클래스(removeClass,addClass등) 함수가 자바스크립트에 있는지 몰랐었다... 특히 classList라는 프로퍼티가 있었다는 존재 자체도..... 그래서 알고 넘어가고자 조사 및 구현을 해보았다 정리한 내용은 아래와 같다 (참조 : http://webdir.tistory.com/94) ( function( window ) { 'use strict'; function classReg( className ) { return new RegExp("(^|\\s+)" + className + "(\\s+|$)"); } // classList support for class management // altho to be fair, the api sucks because it ..
-
자바스크립트 window.showModalDialog() & window.open() 차이점JavaScript 2015. 12. 8. 10:55
항상 보면 왜 굳이 기존에 사용하는것을 사용하면 되는데 어렵게 복잡하게 할려고 하지? 라고 묻는 사람과 생각하는 사람이 있을것이다. 하지만 나같은 경우는 약간 다르게 생각한다.. 왜냐하면 코더가 되고싶어서가 아니다. 선배들의 노하우 좋게 생각한다 그들의 패턴과 방식이 잘못된거라고 지적하는것은 아니다 그들 또한 선배의 선배들에게 걸처서 자신만의 스킬과 대처능력을 습득하고 키웠을것이라 생각이 들기떄문이다. 나또한 계속 자기개발하는 이유와 개발자로서의 참된모습?을 따라가기 위해 새로운것을 계속 도입하고 포스팅 하는 이유가 보다 나은 그리고 넓은 시야에서 생각하고 행동으로 옮기기 위해서이다. ---> 윗글을 작성하는 이유는 한번쯤 내가 쓴글을 다시한번 볼때 저 마음과 생각을 변치 말자라는 의미에서 작성했다. s..