利用javascript的prototype来实现stirng类的扩展并实现string的insert方法
最近做项目使用到了大量的javascript脚本,其中有一个需求是要实现类似于String类的insert方法的功能,这就需要在自己封装方法或者扩展js的string类,当时是准备在网上找一个别人已经写好的方法,可是百度了一下没找到,于是就自己写了一个方法来扩展js的string类。在这里说一下我自己的思路以及方法的实现,如果有高人看了后感觉里面有能够改进的地方麻烦指出来,写的不好谢谢大家别喷我。
首先分析一下思路:在C#的String类下面有一个insert方法,方法的定义是public string Insert(int startIndex,string value),该方法的第一个参数是要插入的value的起始索引位置,第二个参数是要插入的value,个人理解该方法的实现步骤是根据传入的索引值将原字符串分成了两部分string1、string2,然后拼接字符串string1+value+string2组合成插入后的值返回。
下面是根据上面的思路整理出来的javascript代码:
String.prototype.insert=function(index,value)
{
var str1 = this.substring(0,index);
var str2 = this.substring(index);
return str1+value+str2;
}
{
var str1 = this.substring(0,index);
var str2 = this.substring(index);
return str1+value+str2;
}
调用示例:
alert("abcdef".insert(2,"123"));
运行的结果是:
ab123cdef
总结:prototype可以用来扩展已有的或者自定义的javascript类的方法