0
爲什麼我必須將替換函數放在str.replace語句中?外部替換函數不起作用
這工作得很好:
str = str.replace(/&|<|>|"|'/g, function replacer(match) {
switch (match) {
case "&":
return "&";
case "<":
return "<";
case ">":
return ">";
case '"':
return """;
case "'":
return "'";
}
});
這不起作用,返回「引用錯誤:比賽沒有定義」:
str = str.replace(/&|<|>|"|'/g, replacer(match));
function replacer(match) {
switch (match) {
case "&":
return "&";
case "<":
return "<";
case ">":
return ">";
case '"':
return """;
case "'":
return "'";
}
}
爲什麼我不能調用替代品()作爲外部功能?傳遞參數對於其他函數來說是一件輕而易舉的事,但在這個上下文中並不存在 - 從str.replace語句中。只是好奇,如果好奇心被允許。此外,它讓我感到... ...謝謝!
(搜索和雙到處尋找一個答案,然後再發布)
整潔之前創建!謝謝!我會牢記這一點。如果人們不注意使用這樣的良好實踐,JS看起來有點雜亂。我很感激!問候 – ojnord