WEB开发网
开发学院网页设计JavaScript JScript实现的一个String.Format方法 阅读

JScript实现的一个String.Format方法

 2010-09-14 13:19:17 来源:WEB开发网   
核心提示:在.NET Framework的BCL类String中,有一个很有用的静态方法String.Format,JScript实现的一个String.Format方法,当我们在输出一个需要由多个变量条目来组成的字符串时,非常的有用,从第二个参数开始为格式化条目中的替换值,由于JavaScript天生就支持任意参数个数,特别是

在.NET Framework的BCL类String中,有一个很有用的静态方法String.Format。当我们在输出一个需要由多个变量条目来组成的字符串时,非常的有用。特别是在对多语言支持时,使用Format方法来显示更加有价值。为了方便脚本编程,下面实现了一个JScript版的Format方法。

BCL中的String.Format()是一个变参数的方法,第一个参数为格式化字符串,从第二个参数开始为格式化条目中的替换值。由于JavaScript天生就支持任意参数个数,所以可以很自然的实现一个非常sexy的Format方法。

StringHelper.Format()方法源代码如下:

//StringHelper.Format('{0},{2},{1}','abc','def','ghi');
//return"abc,ghi,def".
StringHelper.Format=function(format)
{
  if(arguments.length==0)
  {
    return'';
  }
  if(arguments.length==1)
  {
    returnString(format);
  }

  varstrOutput='';
  for(vari=0;i<format.length-2;)
  {
    if(format.charAt(i)=='{'&&format.charAt(i+1)!='{')
    {
      vartoken=format.substr(i);
      varindex=String(token.match(/d+/));
      if(format.charAt(i+index.length+1)=='}')
      {
        varswapArg=arguments[Number(index)+1];
        if(swapArg)
        {
          strOutput+=swapArg;
        }
        i+=index.length+2;
      }
    }
    else
    {
      if(format.charAt(i)=='{'&&format.charAt(i+1)=='{')
      {
        strOutput+=format.charAt(i);
        i++
      }
      strOutput+=format.charAt(i);
      i++;
    }
  }
  strOutput+=format.substr(i);
  returnstrOutput.replace(/{{/g,'{').replace(/}}/g,'}');
}

1 2  下一页

Tags:JScript 实现 一个

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接