javascript 之string.format

function(){
    'use strict';

    if(String.prototype.format)
        return;
        
    String.prototype.format = function(args){
    
        var _dict = typeof(args) == 'object' ? args : arguments;
        
        return this.replace(/{([^{}]+)}/g,function(s,n){
            return _dict[n]===undefined?s:_dict[n];
        });
    
    };
    
})();

 

useage:

var str = '{name} is {age} years old.';
str.format({name:'Tom',age:25});//”Tom is 25 years old.”
str = '{0} is {1} years old.';
str.format('Jerry',15);//”Jerry is 15 years old.”
str.format(['Bill',10]);//"Bill is 10 years old."
 
posted @ 2014-08-01 23:58  天翔云间  阅读(293)  评论(0编辑  收藏  举报