본문 바로가기

자바스크립트4

javascript JSON 파싱 방법 ( JSON.parse, eval ) javascript JSON 파싱 방법에 3가지에 대해 정리한다. 1) eval 함수 사용 결과 : 1, 용남짱 2) JSON.parse 함수 사용 eval()은 빠르기는 하지만 단순히 그안의 스트링을 그대로 실행시켜 주는 것이기 때문에 리턴값으로 자바스크립트 명령문이 온다면 그대로 실행시켜버리기 때문에 보안이슈가 발생할 수 있다. 자세히 jsonStr을 보면 위 eval에서 사용한 json은 json 형식에 위배 된다. " 가 안들어갔음 // 결과 : 1, 용남짱 최신브라우저는 javascript 엔진이 JSON을 객체로 채택한듯 하다. JSON 의 현재 최신브라우저에서는 정상적으로 동작하나 예전 구형 브라우저에서는 JSON 객체를 못찾을수 있다. 그러한 문제를 해결하기 위해서는 JSON.parse().. 2020. 12. 24.
javascript 라이브러리 모듈화 코딩기법 javascript는 하면 할수록 어려운것 같네요. 머리 진짜 좋은 사람들 많아요. 아래는 javascript 모듈화 패턴 및 코딩기법에 대한 예제 입니다. jQuery, Backbone, underscore, requireJs 등 많은 자바스크립트 라이브러리나 프레임워크가 아래와 같은 코딩기법을 사용하고 있어요. /** * Library 모듈화를 위한 코딩기법 1 * call 함수 이용 */ (function() { 'use strict'; var root = this; var version = '1.0'; var Module1; if(typeof exports !== 'undefined') { Module1 = exports; } else { Module1 = root.Module1 = {}; } M.. 2020. 12. 23.
자바스크립트 클로저 란? 클로저란 무엇인가 ? 클로저는 외부함수(포함하고 있는)의 변수에 접근할 수 있는 내부 함수를 일컫습니다. 스코프 체인(scope chain)으로 표현되기도 합니다. 클로저는 세가지 스코프 체인을 가집니다: 클로저 자신에 대한 접근(자신의 블럭내에 정의된 변수), 외부 함수의 변수에 대한 접근, 그리고 전역 변수에 대한 접근. 이렇게 3단계로 구분할 수 있습니다. 내부 함수는 외부 함수의 변수뿐만 아니라 파라미터에도 접근할 수 있습니다. 단, 내부 함수는 외부 함수의 arguments 객체를 호출할 수는 없습니다. (하지만, 외부 함수의 파라미터는 직접 호출할 수 있습니다.) 1. 클로저 예제 : function showName(firstName, lastName) { var nameIntro = "You.. 2020. 12. 23.
자바스크립트 클로저 Closure function outer () { var count = 0; // #1 var inner = function () { // #2 return ++count; }; return inner; // #3 } var increase = outer(); // #4 increase(); // === 1 #5 increase(); // === 2 * scope의 개념으로 볼 때에 #4, #5 등 outer 함수 외부에서는 outer 함수의 local 변수인 #1의 count에 접근할 방법이 없게 된다. 사용자의 접근을 제한하고, 변수의 조작을 불가능하게 하기 위해서 closure를 사용한다. 자바스크립트에서도 일반적인 객체지향에서 말하는 private 개념이 적용이 가능한 것이다. 이것이 closure의 가장 기본.. 2020. 12. 23.