Вот как по мне чуть более элегантный метод, что ли.
String.prototype.addSubStr = function(pos,str){
var beforeSubStr = this.substring(0,pos);
var afterSubStr = this.substring(pos,this.length);
return beforeSubStr+str+afterSubStr;
}
А если нужно заменить, то объединить с вот таким методом
String.prototype.removeFromTo = function(pos,end){
var beforeSubStr = this.substring(0,pos);
var afterSubStr = this.substring(end,this.length);
return beforeSubStr+afterSubStr;
}
PS ко всему прочему, по-моему, обращение к строке как к массиву через квадратные скобки не воспринимается старыми браузерами, так что этот метод еще и кроссплатформенней.