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

Dlaczego ten kod nie działa?

0 głosów
88 wizyt
pytanie zadane 21 stycznia w JavaScript, jQuery, AJAX przez Kubs Gaduła (3,540 p.)
function bake (degrees) {

var message;

if (degrees > 250) {
   message = "Nie jestem reaktorem atomowym!";
} else if (degrees < 20) {
   message = "Nie jestem lodówką!";
} else {
   message = "To odpowiednia temperatura dla mnie.";
   setMode ("pieczenie");
   setTemp (degrees);

  }
  return message;

}

var status = bake(200);

Jak w pytaniu, dlaczego ten kod nie działa?

1
komentarz 21 stycznia przez RafalS VIP (112,560 p.)
W jakim sensie nie działa. Czego się po nim spodziewałeś?
komentarz 21 stycznia przez Kubs Gaduła (3,540 p.)
..że wyświetli "To odpowiednia temperatura dla mnie."

1 odpowiedź

0 głosów
odpowiedź 21 stycznia przez m4sk1n Pasjonat (16,100 p.)
Kod działa, zakładając że funkcje setMode i setTemp istnieją, do zmiennej `status` trafia wiadomość 'To odpowiednia temperatura dla mnie.'.
komentarz 21 stycznia przez Kubs Gaduła (3,540 p.)
Ale jeśli usunę te dwie funkcje - setMode i setTemp to nie wyświetla się nic.
komentarz 21 stycznia przez m4sk1n Pasjonat (16,100 p.)
> const setMode = () => 0
undefined
> const setTemp = () => 0
undefined
> function bake (degrees) {
...
... var message;
...
... if (degrees > 250) {
.....    message = "Nie jestem reaktorem atomowym!";
..... } else if (degrees < 20) {
.....    message = "Nie jestem lodówką!";
..... } else {
.....    message = "To odpowiednia temperatura dla mnie.";
.....    setMode ("pieczenie");
.....    setTemp (degrees);
.....
.....   }
...   return message;
...
... }
undefined
>
undefined
> var status = bake(200);
undefined
> console.log(status);
To odpowiednia temperatura dla mnie.
undefined

 

komentarz 21 stycznia przez m4sk1n Pasjonat (16,100 p.)
No tak, ponieważ funkcja `bake` wywołuje te funkcje…
komentarz 21 stycznia przez m4sk1n Pasjonat (16,100 p.)
Jeżeli wywołasz ją dla argumentów, które nie wywołują tych funkcji, będzie działać dobrze bez deklarowania ich.
komentarz 21 stycznia przez Kubs Gaduła (3,540 p.)

Nie rozumiem. Ale przecież jeśli usunę setMode i setTemp to powinno działać. Czy tak?

1
komentarz 21 stycznia przez m4sk1n Pasjonat (16,100 p.)
A, jeżeli usuniesz ich wywołania… Wtedy powinno działać. Wpisz później `console.log(status);`
1
komentarz 21 stycznia przez Kubs Gaduła (3,540 p.)
Uff.. działa po wpisaniu :) Dziękuję.

Podobne pytania

+1 głos
2 odpowiedzi 102 wizyt
0 głosów
1 odpowiedź 257 wizyt
pytanie zadane 16 lutego 2017 w JavaScript, jQuery, AJAX przez Vorex444 Dyskutant (9,660 p.)
0 głosów
2 odpowiedzi 79 wizyt
pytanie zadane 7 listopada 2018 w C i C++ przez Sparky Nowicjusz (120 p.)
Porady nie od parady
Publikując kody źródłowe korzystaj ze specjalnego bloczku koloryzującego składnię (przycisk z napisem code w edytorze). Nie zapomnij o ustawieniu odpowiedniego języka z rozwijanego menu oraz czytelnym formatowaniu kodu.Przycisk code

64,981 zapytań

111,459 odpowiedzi

234,641 komentarzy

46,802 pasjonatów

Przeglądających: 187
Pasjonatów: 4 Gości: 183

Motyw:

Akcja Pajacyk

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

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...