对不起,通用问题。我到处搜索,发现了很多与此类似的线程,但是没有一个可以回答我的特定问题-也许是因为我要查找的术语甚至不存在。
我的一个朋友正在学习编程,特别是JavaScript,他问我为什么这样做不起作用:
var a = "Hello World";
a.replace("Hello", "Goodbye");
console.log(a) // Logs "Hello World"
原因是因为replace
不修改a
,因为字符串在JavaSript中是不可变的。因为它返回一个字符串,所以您需要执行以下操作...
var a = "Hello World";
a = a.replace("Hello", "Goodbye");
console.log(a); // Logs "Goodbye World"
但是,替代方法是类似JavaScript的函数reverse()
,因为它会修改任何调用它的函数。例如:
var fruits = ["Apples", "Oranges", "Bananas"];
fruits.reverse();
console.log(fruits) // ["Bananas", "Oranges", "Apples"]
当我的朋友问我为什么他replace
不工作时,我意识到我在说一个我不知道的词(据我所知)...
“您必须将字符串设置为“字符串点替换”,因为替换功能是________。”
您无需将数组设置为等于“数组点反向”,因为反向是________。
我不熟悉原型函数,但我不相信这是我要找的单词。谁能帮我填补这些空白?
You don't need to set an array equal to "array dot reverse", because reverse is a mutator function
。我想我已经听说过该术语指代“变异”调用它们的实例的函数。但是您可能应该在其他地方再次检查。