• 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?

VPS Starter Arubacloud
0 głosów
275 wizyt
pytanie zadane 21 stycznia 2019 w JavaScript przez Kubs Mądrala (5,190 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 2019 przez RafalS VIP (122,820 p.)
W jakim sensie nie działa. Czego się po nim spodziewałeś?
komentarz 21 stycznia 2019 przez Kubs Mądrala (5,190 p.)
..że wyświetli "To odpowiednia temperatura dla mnie."

1 odpowiedź

0 głosów
odpowiedź 21 stycznia 2019 przez m4sk1n Pasjonat (16,750 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 2019 przez Kubs Mądrala (5,190 p.)
Ale jeśli usunę te dwie funkcje - setMode i setTemp to nie wyświetla się nic.
komentarz 21 stycznia 2019 przez m4sk1n Pasjonat (16,750 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 2019 przez m4sk1n Pasjonat (16,750 p.)
No tak, ponieważ funkcja `bake` wywołuje te funkcje…
komentarz 21 stycznia 2019 przez m4sk1n Pasjonat (16,750 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 2019 przez Kubs Mądrala (5,190 p.)

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

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

Podobne pytania

0 głosów
2 odpowiedzi 211 wizyt
pytanie zadane 14 stycznia 2020 w HTML i CSS przez Flyfor Nowicjusz (160 p.)
+1 głos
2 odpowiedzi 180 wizyt
0 głosów
1 odpowiedź 984 wizyt
pytanie zadane 16 lutego 2017 w JavaScript przez Vorex444 Dyskutant (9,610 p.)

92,452 zapytań

141,262 odpowiedzi

319,077 komentarzy

61,854 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.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...