我已经创建了一个函数,用于从变量中删除某个单词。
var eliminateWord = function (usedwords){word2.replace (/go/g," ");
但似乎无法使用此代码中的函数:
var word1 = "go",
word2 = "go to the shops everyday and buy chocolate.";
var eliminateWord = function (usedwords){
word2.replace (/go/g," ");
};
if (word2.match("go")) {
console.log("user entered go");
eliminateWord ();
}
if (word2.match("to")) {
console.log("user entered to");
}
if (word2.match("the")) {
console.log("user entered the");
}
if (word2.match("and")) {
console.log("user entered and");
}
console.log(word2);
答案 0 :(得分:1)
replace
方法返回修改后的字符串。它不会修改字符串(无论如何都不能,因为字符串是不可变的)。由于您没有对函数中的返回值执行任何操作,因此将更改已更改的字符串。
你也在搞乱全局变量,这是编写令人困惑的代码的好方法。改为传递参数。
此外,似乎没有任何理由在此处使用函数表达式而不是函数声明。
function eliminateWord(word){
return word.replace(/go/g," ");
}
word2 = eliminateWord(word2);
答案 1 :(得分:1)
只需返回使用replace获得的值:
var eliminateWord = function (usedwords){return word2.replace (/go/g," ");