BLOG main image
LEEEJONG (165)
IT (53)
주관적평가 (31)
창작공간 (80)
109,971 Visitors up to today!
Today 5 hit, Yesterday 57 hit
daisy rss
tistory 티스토리 가입하기!
'JS'에 해당되는 글 3건
2015.12.10 12:45

When I try to add item into array or object (javascript)

I can use these functions.


1. Array.push()

(ex)

var myArray = [];

myArray.push( 1 );


2.(jQuery) $.extend( a, b)

var myObject = {};

var internalObject1 = {};

var internalObject2 = {};

internalObject["a"] = 'a';

internalObject.b = 'B';


$.extend( myObject, internalObject1 );

$.extend( myObject, internalObject2 );



Let rock


'IT > WebB' 카테고리의 다른 글

HeadFirstXHTML / CSS기초 노트  (0) 2016.01.06
MSSQL SP내용 쿼리로 보기  (0) 2015.12.16
JS Object / Array add Item  (0) 2015.12.10
MSSQL 바이너리 -> 가져와서 파싱하기  (0) 2015.12.08
RequireJS  (0) 2015.12.08
JQuery Plugin - Context Div  (0) 2014.05.29
Name
Password
Homepage
Secret
2015.12.08 10:52

ADM4는 기본 아키텍쳐가 클로져 스타일이다.


그와 필연적으로 엮어있는게 RequireJS인데


지금까지 별생각없이 쓰다가 생각해볼 일이 생겨서 정리해본다.


RequireJS에서 모듈을 Define하는 방법은 세가지가 있다.


출처 : http://requirejs.org/docs/api.html#define


세가지인줄 알고 다시 저페이지에 들어가봤는데 방법이 무지하게 많다.


일단 내가 사용하는 RequireJS Define 방식은 아래와 같다.

 define(['beans/Bless/BlessDesc','beans/Bless/BlessGameData'], function(Desc, GameData){



위 JS들을 로드하고, 그것들을 Function에 인자에 담아서 사용한다.

근데 GameData JS에는 모듈 로드하는게 내용이 좀 다르다


var GameDataCategory = ['hi','jl',hello','world'];


define( GameDataCategory.map(function(cat){ return 'beans/Bless/BlessGameData/BlessGameData.'+cat; } ), function( Desc ){

//blahblah

})


요래요래 되어있다.

저 내용을 질의하니

GameDataCategory Array에 있는 값들을 전부 로드하는것이라고 한다.


따라서 내가 필요한 description을 추가로 로드하기 위해 아래와 같이 수정했다.



var GameDataCategory = ['hi','jl',hello','world'];

var requireModules = ['beans/Bless/BlessDesc'];

define( requireModules.concat( GameDataCategory.map(function(cat){ return 'beans/Bless/BlessGameData/BlessGameData.'+cat; }) ), function( Desc ){


앞에다 내가 로드할 모듈을 넣고, 원래있던걸 뒤에 concat으로 붙였다.


내가 쓸 모듈은 Desc에 담았고, 나머지는 뭐 안담고 그냥 쓴다


참고로 내가 명시적으로 담지 않은 Require된 모듈들은

arguments[ i ] 에 담긴다고 한다.

 >  for( var i=requireModules.length; i<arguments.length; i++)

    arguments[i](DataKey, GameData);


이런식으로 불러서 쓸 수 있다.

명시적이지 않게 많은 경우 사용할 수 있는 방법으로 보인다.


이상

'IT > WebB' 카테고리의 다른 글

JS Object / Array add Item  (0) 2015.12.10
MSSQL 바이너리 -> 가져와서 파싱하기  (0) 2015.12.08
RequireJS  (0) 2015.12.08
JQuery Plugin - Context Div  (0) 2014.05.29
Closure가 무엇인가  (0) 2014.05.29
AJAX  (0) 2014.03.17
Name
Password
Homepage
Secret
2014.05.29 14:32

JQuery 플러그인을 제작하던중.

사수님의 입에서 '클로저'라는 말이 등장했다.


도무지 내 상식으로는 일어나서는 안되는 일들이

사수님 버전 플러그인에서 일어나고 있었다.


따라서 대체 이게 뭔지 찾아보았다.


MDN에 클로져(Closures) 소개 페이지를 링크한다.

https://developer.mozilla.org/ko/docs/JavaScript/Guide/Closures


여러분들은 무려 두개의 손과 열개의 손가락을 보유중이기 때문에 저 링크에 들어가서

내용을 파악할 수 있겠지만, 내가 이해한 내용을 요약해 본다.


--------------------------------------------------------------


내가생각하는 HTML문서는 굉장히 정적이다.

여기에 숨을 불어넣는것이 JS라고 생각한다.


그럼에도 불구하고 웹페이지는 정적이다. 왜냐하면 페이지 전체가 하나의 프로그램이 아니라
정해진 동작에 반응하도록 설계되어있기 때문이다


그런데 이걸 가능하게 할수도 있는 것 같다.

클로저를 통해서.


클로저가 뭐냐면 함수를 저장할때 함수 내용 말고도, 실행중인 환경을 저장해주는거다.


그러니까 기존에 내가 쓰던 변수들 상태를 그대로 달고있으니, 프로그램 짜듯이 짜도

문제될게 없다는 이야기 되시겠다.


근데 이 내용이 나한테는 좀 쇼킹했다.


이게 말이 됨?


당신도 궁금하다면  MDN을 정독하도록 하세요.


'IT > WebB' 카테고리의 다른 글

RequireJS  (0) 2015.12.08
JQuery Plugin - Context Div  (0) 2014.05.29
Closure가 무엇인가  (0) 2014.05.29
AJAX  (0) 2014.03.17
Javascript 상속-함수를 사용한 방식  (0) 2013.08.05
SMARTY(스마티) 템플릿  (0) 2013.07.18
Name
Password
Homepage
Secret
prev"" #1 next

티스토리 툴바