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

Dlaczego występują w nim takie konstrukcje?

Hosting forpsi easy 1 pln
0 głosów
104 wizyt
pytanie zadane 20 kwietnia 2016 w JavaScript przez Surykat Stary wyjadacz (14,760 p.)
edycja 20 kwietnia 2016 przez Surykat

Cześć ;)

Zaczynam za jakiś czas pracę, w której będzie potrzebny JavaScript. Zacząłem się więc go uczyć, i parę rzeczy jest dla mnie dziwnych, wręcz denerwujących (po prostu pewne rzeczy do mnie nie docierają).

Przerabiam sobie warsztat JS z codeacademy.com i musiałem napisać coś takiego:

http://wklej.org/id/2317988/

Stworzyłem obiekt "friends"(mający być listą kontaktów), który przechowywał konkretne instancje kontaktów w postaci swoich... properties? Tak się w ogóle robi? Dla mnie najnaturalniejszym byłoby utworzenie obiektu "Kontakt" i utworzenie tablicy tych obiektów. O co tutaj chodzi?

Druga rzecz, to ta javascriptowa pętla for (która wygląda jak c#-owy foreach). Ona przechodzi po wszystkich właściwościach obiektu friends?? Jak to działa? (kod który wkleiłem, na wklejce, code academy uznał za poprawny),

Jest tu tyle niejednoznaczności, że mnie aż głowa boli. ;(

PS

Jeśli zechcę wyświetlić obiekt JS wprost (np w konsoli), to bedzie on zapisany zawsze w formacie JSon?

Mam na myśli takie coś:

var obiekt = new Object();
console.log(obiekt);

 

2 odpowiedzi

+4 głosów
odpowiedź 21 kwietnia 2016 przez Comandeer Guru (596,500 p.)
wybrane 21 kwietnia 2016 przez Surykat
 
Najlepsza

Uaaa… Taki kod to się pisało wieki temu. W obecnym JS wyglądałoby to tak: http://wklej.org/hash/0dc5946ca43/

Stworzyłem obiekt "friends"(mający być listą kontaktów), który przechowywał konkretne instancje kontaktów w postaci swoich... properties? Tak się w ogóle robi? 

Tak. Tablica asocjacyjna w JS to po prostu obiekt. Tyle że nie stosuje się new Object → http://tutorials.comandeer.pl/js-beauty.html#literaly

Druga rzecz, to ta javascriptowa pętla for (która wygląda jak c#-owy foreach). Ona przechodzi po wszystkich właściwościach obiektu friends?? Jak to działa?  

Tak, for...in przechodzi po wszystkich elementach obiektu. Ale obecnie nie jest to najlepszy sposób, bo istnieje np. Object.keys.forEach czy wykorzystany przeze mnie for...of. O for...in można powoli zapomnieć. 

Jeśli zechcę wyświetlić obiekt JS wprost (np w konsoli), to bedzie on zapisany zawsze w formacie JSon?

JSON to skrót oznaczający "JavaScript Object Notation". Ten format to po prostu natywny format zapisu obiektów w JS. 

komentarz 21 kwietnia 2016 przez Surykat Stary wyjadacz (14,760 p.)

Dzięki serdeczne, powoli zaczynam się w tym odnajdywać. :)

Natomiast mam pytanie co do wyświetlania obiektu- tworząc obiekt taki:

 

var object = new Object();

object.name = "Sasza";
object.lastName = "Konopka";

Próbując wyświetlić "object" za pomocą 

document.write(object);

output wyświetla:

[object Object]

Gdy ten sam obiekt wrzucę do konsoli, to zawiera on wszystkie informacje, w postaci JSon, o ile dobrze myślę. Dlaczego? :)

Object { name: "Sasza", lastName: "Konopka" }

 

komentarz 21 kwietnia 2016 przez Comandeer Guru (596,500 p.)

Bo konsola to konsola ;) Ona wyświetla obiekty takie, jakimi są. Natomiast jeśli chce się wyświetlić obiekt na stronie/w DOM musi być przerobiony na string, czyli po prostu jest robione obiekt.toString i stąd taki wynik.

komentarz 21 kwietnia 2016 przez Surykat Stary wyjadacz (14,760 p.)
Ok, dziękuję Ci bardzo. :)
+1 głos
odpowiedź 21 kwietnia 2016 przez Rubeus024 Obywatel (1,680 p.)
Cześć,

1)  Co do pętli for in, to tak, przechodzi przez wszystkie kolejne właściwości konkretnego obiektu. Obiektu, tablica obiektów odpada. Pełne info znajdziesz pod tym linkiem: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for...in

Co do stworzenia listy kontaktów to oczywiście można zastosować tablicę obiektów i dla mnie jest ona czytelniejsza niż ten przykład. Opanowałeś tworzenie konstruktorów w js? Nie wiem, czy taki sposób tworzenia obiektów jest używany przez programistów. Niech inni się na ten temat wypowiedzą, dopiero co się uczę tego języka.

Podobne pytania

0 głosów
0 odpowiedzi 133 wizyt
pytanie zadane 9 maja 2016 w C i C++ przez konrad99 Gaduła (4,090 p.)
0 głosów
1 odpowiedź 243 wizyt
pytanie zadane 5 października 2019 w HTML i CSS przez Majonez.exe Gaduła (3,490 p.)
0 głosów
5 odpowiedzi 547 wizyt
pytanie zadane 27 września 2019 w HTML i CSS przez Majonez.exe Gaduła (3,490 p.)

92,123 zapytań

140,784 odpowiedzi

317,796 komentarzy

61,445 pasjonatów

Advent of Code 2023

Top 15 użytkowników

  1. 1468p. - Łukasz Eckert
  2. 1444p. - Dawid128
  3. 1430p. - CC PL
  4. 1419p. - rafalszastok
  5. 1418p. - Marcin Putra
  6. 1373p. - Mikbac
  7. 1362p. - rucin93
  8. 1351p. - sefirek
  9. 1296p. - Adrian Wieprzkowicz
  10. 1260p. - TheLukaszNs
  11. 1144p. - Michal Drewniak
  12. 1109p. - adrian17
  13. 1078p. - Eryk Andrzejewski
  14. 1063p. - nidomika
  15. 1061p. - Anonim 3447134
Szczegóły i pełne wyniki

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.

Uwaga - w dniach od 02.12 do 08.12 trwają Mikołajki (książki drukowane mają rabat -35%, ebooki do -45%). Zaś dodatkowy, specjalny kod zniżkowy: HELMIKOLAJ-10 dla naszych Widzów zapewni Wam oszczędność -10zł dla zamówień powyżej 70zł! Warto korzystać!

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!

...