我对这个递归函数感到很困惑。我用它来突出显示文本框中的单词,但它给了我一些奇怪的输出:
should be:
#define
testing #define
but instead it's:
testing #define
testing #define
这是代码
function replace_all( text, old_str, new_str ){
index_of = text.indexOf( old_str );
if( index_of != -1 ){
old_text = text.substring( 0, index_of );
new_text = text.substring( index_of + old_str.length );
new_text = replace_all( new_text, old_str, new_str );
text = old_text + new_str + new_text;
}
return text;
}
关于该功能有什么问题的任何想法?它似乎正在用找到的最后一个关键字替换所有旧关键字。