Przepraszam za ogólne pytanie. Przeszukałem wszystkie i znalazłem tak wiele wątków podobnych do tego, jednak żaden nie odpowiada na moje konkretne pytanie - być może dlatego, że szukany termin nawet nie istnieje.
Mój przyjaciel uczy się programowania, w szczególności JavaScript, i zapytał mnie, dlaczego to nie działa:
var a = "Hello World";
a.replace("Hello", "Goodbye");
console.log(a) // Logs "Hello World"
Powodem jest to, że replace
się nie modyfikuje a
, ponieważ ciągi są niezmienne w JavaSript. Ponieważ zwraca ciąg, musisz zrobić coś takiego jak ...
var a = "Hello World";
a = a.replace("Hello", "Goodbye");
console.log(a); // Logs "Goodbye World"
Jednak alternatywą jest funkcja taka jak JavaScript reverse()
, ponieważ modyfikuje to, co ją wywołuje. Na przykład:
var fruits = ["Apples", "Oranges", "Bananas"];
fruits.reverse();
console.log(fruits) // ["Bananas", "Oranges", "Apples"]
Kiedy mój przyjaciel zapytał mnie, dlaczego jego replace
nie działa, zdałem sobie sprawę, że sięgam po słowo, którego nie znam (o ile mi wiadomo) ...
„Musisz ustawić ciąg na„ ciąg kropki zamień ”, ponieważ funkcja zamiany to ________.”
Nie musisz ustawiać tablicy równej „odwrotnej macierzy”, ponieważ odwrotność to ________. ”
Znam prototypowe funkcje, choć nie sądzę, że tego słowa szukam. Czy ktoś może mi pomóc wypełnić te pola?
You don't need to set an array equal to "array dot reverse", because reverse is a mutator function
. I pomyśleć Słyszałem, że terminologia odnosi się do funkcji, które „mutate” instancję, która je wywołuje. Ale prawdopodobnie powinieneś sprawdzić to jeszcze gdzieś indziej.