• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

JS sposob przekazania obiektu do funkcji

Mały hosting, OGROMNE możliwości
0 głosów
899 wizyt
pytanie zadane 2 października 2018 w JavaScript przez MrxCI Dyskutant (8,260 p.)

Witam, aby w funkcji pracowac na obieckie, w jaki sposob z dwoch podanych ponizej powinno sie skorzystac? I dlaczego?

 

let X={name:"test"};

//sposob 1



function work_harder(x)
{
X.name;
}

work_harder(X);


//sposob 2

function play_harder()
{
this.name;
}

play_harder.call(X);

Ktory z tych sposobow przekazywania obiektu do funkcji jest lepszy?

2 odpowiedzi

+3 głosów
odpowiedź 2 października 2018 przez adrian17 Mentor (354,880 p.)
wybrane 2 października 2018 przez MrxCI
 
Najlepsza
#1 to najbardziej standardowe wywołanie funkcji. Tak, to jest normalny sposób przekazywania argumentów.

w #2 wykorzystujesz `.call` to ustawienia `this`... co jest dziwne, omija "zwykłe" argumenty `.call` i nie będzie obsługiwało więcej niż jednego argumentu.
0 głosów
odpowiedź 2 października 2018 przez Tomek Sochacki Ekspert (227,510 p.)
Jeśli już to pierwsze ale też uważaj, bo obiekt przekazujesz przez referencje! w razie czego musisz  więc zrobić kopie jeśli nie chcesz modyfikować oryginału.

Podobne pytania

0 głosów
1 odpowiedź 1,379 wizyt
pytanie zadane 10 października 2018 w JavaScript przez Whatisit Początkujący (390 p.)
0 głosów
0 odpowiedzi 487 wizyt
pytanie zadane 22 lutego 2018 w JavaScript przez Kuba Jakubowski Gaduła (3,550 p.)
0 głosów
1 odpowiedź 386 wizyt

93,718 zapytań

142,629 odpowiedzi

323,261 komentarzy

63,265 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...