Javascript模拟C#格式化字符串

Javascript模拟C#格式化字符串
js模拟C #字符串格式化操作
/
**函数:字符串格式化替换操作
***
(string.prototype.format =功能){
var args =参数
返回this.replace( / {( D +) } /克,
函数(m,i){
返回参数{我};
});
}
js实现一个字符串处理函数的形式()C #:

熟悉C #应该知道有一种方法的格式(),和下面的会被模仿,这个功能也用Javascript实现。

代码示例如下所示:
字符串。原型。格式=功能(args){
如果(参数,长度> 0){
var结果;
如果(参数。长度= = 1typeof(args)=对象){
对于(在参数VAR键){
VaR reg = new RegExp(({+键+})
结果:result.replace(REG,args {key});
}
}
别的{
对于(var i = 0;i < arguments.length;i++){
如果(参数{ =未定义的){
返回;
}
别的{
VaR reg = new RegExp(({ {+我+} })
结果:result.replace(REG,论点{我});
}
}
}
返回结果;
}
别的{
返回此;
}
}
无功fiststr ={ 0 }欢迎您的光临,希望每个人都能得到你想要的{ 1 }。
无功secondstr ={ webname }欢迎您的光临,希望每个人都能得到你想要的{爱}。
无功出= fiststr.format(
无功secondout = secondstr.format({ webname:
console.log(出);
console.log(secondout);
以上代码是为了达到我们想要的效果,下面是实现过程:

1。实现原则:

这个原理比较简单,可以参考这里的代码,长话短说,具体注释。使用正则表达式找出要替换的字符串,然后用指定的内容替换这些字符串。在代码中,指定的内容直接由字符串来度量,而另一些则是对象的属性值。

两。代码注释:

1。字符串。原型。格式=功能(args){ { }),通过添加原型对象的实例方法格式的字符串对象,这个方法用来处理字符串。
2.if(参数。长> 0),如果传递的参数个数大于0。
3.var结果=本,将这个变量结果的参考。
4.if(参数。长度= = 1typeof(args)= =对象),以确定是否传递参数是直接宾语。
5.for(args中无功的关键),遍历属性在对象直接量。
6.var reg = new RegExp({+键+}),G),用于匹配指定的字符串。
7。结果= result.replace(REG,args {key}),与属性值替换字符串匹配。
8,如果转移不是对象的直接量,则{ }。
9.for(var i = 0;i < arguments.length;i++),遍历传递参数。
10.if(参数= =不确定),如果是未定义,返回一个空字符串。
11.var reg = new RegExp(({ {+我+} })
12。结果= result.replace(注册、参数),取代。
13.return结果,返回的字符串替换。
14.return这,如果没有参数传递,返回的是字符串本身。
免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部