• 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

VMware Cloud PRO - przenieś swoją infrastrukturę IT do chmury
0 głosów
797 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,120 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,490 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,308 wizyt
pytanie zadane 10 października 2018 w JavaScript przez Whatisit Początkujący (390 p.)
0 głosów
0 odpowiedzi 369 wizyt
pytanie zadane 22 lutego 2018 w JavaScript przez Kuba Jakubowski Gaduła (3,550 p.)
0 głosów
1 odpowiedź 265 wizyt

93,430 zapytań

142,427 odpowiedzi

322,652 komentarzy

62,792 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

...