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

Aktywowanie zaznaczonego fragmentu kodu [JS]

0 głosów
322 wizyt
pytanie zadane 15 marca 2018 w JavaScript przez Oskar Szkurłat Bywalec (2,780 p.)

Witam, chciałbym się dowiedzieć czy istnieje taka opcja, że tworze "bloczek" kodu, a potem jedną komendą jestem w stanie wykonać ten bloczek w innym miejscu tej samej funkcji?

Tzn. Mam np spory kod, nazywam go np Bloczek{ (...) }:

Bloczek{ (...) }

run Bloczek()

a żeby go nie kopiować na nowo, chce wywołać w dalszej części używając jakiejś komendy typu run Bloczek(). Zapewne chodzi o stworzenie funkcji? i wywołanie samej funkcji? W jaki sposób tego dokonać? 

 

Z góry dziękuję :)

1 odpowiedź

+2 głosów
odpowiedź 15 marca 2018 przez Tomek Sochacki Ekspert (227,510 p.)
wybrane 15 marca 2018 przez Oskar Szkurłat
 
Najlepsza

nie kombinuj :) i zrób normalnie funkcję, np:

function fn() {
    //kod funkcji
};

//i potem w kodzie:
fn();

Poczytaj generalnie o tworzeniu funkcji w JavaScript. Możesz spotkać też inne zapisy, np.:

const fn = () => {
    //kod funkcji
}

fn();

ale na razie skup się na pierwszym przypadku, aby złapać samą ideę funkcji.

I jeszcze jedno...

Tzn. Mam np spory kod

jeśli jest to na prawdę spory kod to pomyśl o podzieleniu go na mniejsze funkcje, robiące pojedyncze rzeczy. Ale jak zaczniesz czytać o funkcjach i ogólnie o programowaniu to z czasem sam do tego dojdziesz :)

2
komentarz 15 marca 2018 przez thryndl Nałogowiec (30,470 p.)

Warto dodać do sposób opisanych przez Ciebie, możliwość przypisania funkcji anonimowej do zmiennej i po niej odwoływania się.

W praktyce

const foo = function () {
   console.log("foo")
}

i wywołanie

foo();

Przykład oczywiście ten sam co funkcje strzałkowe, ale łatwiejszy w zrozumieniu.

A różnica pomiędzy deklaracją funkcji poprzez słowo function, a przypisywaniem jej do zmiennej typu const jest taka, że tą pierwszą możemy w każdej chwili nadpisać, a próba nadpisania funkcji stałej zwróci

Identifier 'foo' has already been declared

 

1
komentarz 15 marca 2018 przez Tomek Sochacki Ekspert (227,510 p.)
tworzenie poprzez "function fn () {}" podlega też hoistingowi funkcji, ale to myślę teraz nieistotne.

Zgadzam się z Tobą jak najbardziej, ale zauważ, że Kolega jest na początku przygody z programowaniem i musi najpierw załapać dobrze cała ideę funkcji i dzielenia kodu na mniejsze części. To co Ty napisałeś + moja wersja z const to jak najbardziej tematy do zanotowania dla Kolegi i podrążenia z czasem :)

A z tą funkcją anonimową co piszesz to tak nie do końca to samo co arrow function bo jeszcze trzeba by wejść w zagadnienie wskaźnika THIS, ale myślę, że z tym to niech autor posta jeszcze chwilkę zaczeka :)
komentarz 15 marca 2018 przez Oskar Szkurłat Bywalec (2,780 p.)

@Tomek Sochacki, Dziękuję, dokładnie o to mi chodziło, okazało się niestety, że nie pomyślałem nad tym wcześniej i teraz edytuje kod na publicki, bo w tym przypadku nie widziały. 

Podobne pytania

0 głosów
2 odpowiedzi 527 wizyt
0 głosów
1 odpowiedź 468 wizyt
0 głosów
2 odpowiedzi 350 wizyt
pytanie zadane 1 czerwca 2017 w JavaScript przez crova Użytkownik (940 p.)

93,720 zapytań

142,641 odpowiedzi

323,265 komentarzy

63,269 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.

...