• 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
87 wizyt
pytanie zadane 21 stycznia w JavaScript, jQuery, AJAX przez Kubs Gaduła (3,500 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 (110,020 p.)
W jakim sensie nie działa. Czego się po nim spodziewałeś?
komentarz 21 stycznia przez Kubs Gaduła (3,500 p.)
..że wyświetli "To odpowiednia temperatura dla mnie."

1 odpowiedź

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

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

1
komentarz 21 stycznia przez m4sk1n Pasjonat (15,840 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,500 p.)
Uff.. działa po wpisaniu :) Dziękuję.

Podobne pytania

+1 głos
2 odpowiedzi 101 wizyt
0 głosów
1 odpowiedź 227 wizyt
pytanie zadane 16 lutego 2017 w JavaScript, jQuery, AJAX przez Vorex444 Dyskutant (9,660 p.)
0 głosów
2 odpowiedzi 78 wizyt
pytanie zadane 7 listopada 2018 w C i C++ przez Sparky Nowicjusz (120 p.)
Porady nie od parady
Zadając pytanie postaraj się o odpowiedni tytuł, kategorię oraz tagi.Tagi

63,200 zapytań

109,436 odpowiedzi

228,620 komentarzy

42,950 pasjonatów

Przeglądających: 114
Pasjonatów: 8 Gości: 106

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.

...