공부합시다! 웹 프론트 엔드 개발자분들 화이팅! 자바스크립트는 실행 환경에서 코드 실행 중에 메모리를 관리해서 가비지 콜렉션 언어라고도 불릴 수 있다. 자동으로 필요한 메모리를 할당하고 사용하지 않는 메모리는 회수한다 하지만 특정 시점에서 메모리를 회수하도록 할 수 있다. 예로 함수의 지역 변수 같은 경우는 함수가 종료되면 지역 변수를 할당 하던 메모리가 회수되는데 이렇게 명확하지 않은 경우도 많다. 1. 브라우저의 가비지 컬렉션 알고리즘 1-1. 표시하고 지우기 (mark-and-sweep) (대략) 메모리에 저장된 변수 전체에 표시를 남기고 컨텍스트에 있는 변수와 그 변수가 참조하는 변수에서 표시를 지운다. 이 후에 표시가 남아있는 변수가 담긴 메모리는 회수한다. 1-2. 참조 카운팅 (referen..
공부합시다! 웹 프론트 엔드 개발자들 화이팅! 각 컨텍스트에는 변수 객체(해당 컨텍스트에서 정의된 모든 변수와 함수)가 연결되어 있다. 전역 컨텍스트 = 가장 바깥 컨텍스트 (웹 브라우저에서 window) 컨텍스트는 포함된 코드가 모두 실행됐을때 변수 객체와 함께 없어진다. 전역 컨텍스트는 앱 종료시에 끝난다. 함수를 호출하면 실행 컨텍스트가 생성되고 컨텍스트 스택에 쌓인다. 함수가 끝나면 해당 컨텍스트를 스택에서 꺼내고 컨트롤을 이전 컨텍스트에 반환한다. 함수의 매개변수도 변수 객체와 동일하게 간주된다. 컨텍스트에서 코드를 실행하면 스코프 체인이 만들어 진다. 스코프 체인의 목적은 실행 컨텍스트가 접근할 수 있는 변수 객체에 순서를 정의하는 것이다. 스코프 체인의 앞쪽은 항상 실행 컨텍스트의 변수 객체..
강표오빵이 작업하다가 새로이 알게 된 내용을 정리해논 글 입니다.알고 있는 지식안에서 글을 작성하다 보니 틀린 내용이 있을 수 있으니 확인바라며올바른 내용을 알고 계신분은 이 글을 보시는 분들이나 저 스스로 바르게 알 수 있게 댓글을 달아주세요! 배열의 값을 오름차순으로 바꾸기간단 합니다. var arrObj = [ { no: 5, name: 'apple' }, { no: 3, name: 'apple' }, { no: 1, name: 'apple' }, { no: 4, name: 'apple' }, { no: 2, name: 'apple' } ]; arrObj.sort(function(a, b){ return (a.no b.no) ? 1: 0; }); canisu..
강표오빵이 작업하다가 새로이 알게 된 내용을 정리해논 글 입니다.알고 있는 지식안에서 글을 작성하다 보니 틀린 내용이 있을 수 있으니 확인바라며올바른 내용을 알고 계신분은 이 글을 보시는 분들이나 저 스스로 바르게 알 수 있게 댓글을 달아주세요! 문자열 뒤집기 아주 간단합니다. 문자열.split("").reverse().join(""); canisue.com 에 따르면 split(), reverse(), join() 모두 ecmascript 3 이며ie6 +, firefox 2+, chrome 1+ 지원합니다. 원문 EcmaScript 3 String.prototype methods: split()EcmaScript 3 Array.prototype methods: reverse()EcmaScript 3 ..