javascript 에서 java의 stringformat 과 유사하게 사용하고 싶은 경우가 있다.

그렇다면 아래 로직을 추가하면된다.


if (!String.prototype.format) {

          String.prototype.format = function() {
               var args = arguments;
               return this.replace(/{(\d+)}/g, function(match, number) {
                    return typeof args[number] != 'undefined' ? args[number]
                              : match;
               });
          };
     }


{숫자} 를 해당 파라미터를 replace 함

(자바스크립트는 파라미터가 arguments 배열로 전달됨, 다른 포스트의 setTimeout 에 파라미터 넘기는 부분에서도 사용함  -> 해당예제)


사용방법 >

var str = "string replace : {0} , {1} => {1} , {0}".format("a","b") 
str 값은 "string replace : a , b => b , a"  가 된다.



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

String fommat 2  (0) 2015.08.03
javascript 의 arguments  (0) 2014.12.03
yuicommpressor (js /css 압축)  (0) 2014.11.24
setTimeout , setInterval , clearTimeout , clearInterval 사용  (0) 2014.11.22
setTimeout 에 파라미터를 넘기는 법  (0) 2014.11.22

javascript 와 css 파일에 대해서는 많은 압축 프로그램들이 있다.

 

yuicommpressor 는 사용결과 다른 압축프로그램보다 압축률이 좋게 나오지는 않았다.

그렇지만 다른압축프로그램에서 발생한 한글문제가 발생하지 않기 때문에 이 압축프로그램을 사용하였다.

 

홈페이지 : http://yui.2clics.net/

 

Usage: java -jar yuicompressor-x.y.z.jar [options] [input file]

 

Global Options

-h, --help                Displays this information(도움말)

--type <js|css>           Specifies the type of the input file(변경하고자 하는 파일의 타입 js 또는 css)

--charset <charset>       Read the input file using <charset>(사용하는 파일의 charset 지정)

--line-break <column>     Insert a line break after the specified column number(특정 컬럼 번호뒤에 줄바꿈 삽입)

-v, --verbose             Display informational messages and warnings(콘솔정보 표시)

-o <file>                 Place the output into <file>. Defaults to stdout.(압축된 파일의 파일명)

 

JavaScript Options

--nomunge                 Minify only, do not obfuscate (난독을 제외한 압축)

--preserve-semi           Preserve all semicolons (세미콜론 유지)

--disable-optimizations   Disable all micro optimizations

                          (foo['bar] => foo.bar and {'bar':x} => {bar:x} 의 형태로 변환을 사용하지 않음)

           

* disable-optimizations 의 추가 설명

disable-optimizations 을 설정하지 않을 경우 아래와 같은 소스로 두가지 메소드가 호출된다.

if (!disableOptimizations) {

        optimizeObjectMemberAccess(this.tokens);

        optimizeObjLitMemberDecl(this.tokens);

    }

optimizeObjectMemberAccess 메소드의 경우 obj["foo"] 를 obj.foo 로 변환하여 3bytes 를 절약한다. 

[]"" 의 4바이트가 제외되고,  . 의 1바이트가 추가된다.

 

optimizeObjLitMemberDecl 의 경우에는 json 내부의 멤버 선언부의 스트링 선언 'foo' 을 foo 로 변환하여

'' 2바이트를 절약한다.

 

사용법>

java -jar yuicompressor-x.y.z.jar myfile.js -o myfile-min.js --charset utf-8

+ Recent posts