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

Domyślna wartość objektu

Object Storage Arubacloud
+1 głos
143 wizyt
pytanie zadane 28 lipca 2017 w JavaScript przez Filip31411 Dyskutant (8,820 p.)

Cześć. Jak ustawić wartość objektu js która zostanie zwrócona, gdy nie zostanie podana właściwość? To znaczy:

var myObject = {
  width: 100,
  height: 200
};

console.log(myObject.width); //wyświetli 100
console.log(myObject); //jak zrobić żeby wyświetliło np "coś tam" i czy w ogóle się da?

 

1 odpowiedź

+1 głos
odpowiedź 28 lipca 2017 przez niezalogowany
wybrane 28 lipca 2017 przez Filip31411
 
Najlepsza

Nie da się - myObject to referencja do obiektu - nie może być raz wyświetlana jako obiekt, a raz jako typ prosty.

Niemniej jednak zostaje możliwości zabawy przy rzutowaniu.

'Mój obiekt: ' + myObject // "Mój obiekt: [object Object]"

Można zdefiniować w jaki sposób obiekt będzie przekształcany za pomocą nadpisania metody valueOf

var myObject = {
  width: 100,
  height: 200,
  valueOf: function() {
    return 3;
  }
};

'Mój obiekt: ' + myObject // "Mój obiekt: 3"

 

komentarz 28 lipca 2017 przez Filip31411 Dyskutant (8,820 p.)
O to mi chodziło. Dzięki :)
komentarz 28 lipca 2017 przez Filip31411 Dyskutant (8,820 p.)
Ale działa tylko w sklejeniu z tekstem :( A ja bym chciał w ogóle zamiast cyfry zwrócić uchwyconego diva.
komentarz 28 lipca 2017 przez niezalogowany

Nie łatwiej dodać customowe wartości do elementu DOM np w dataset?

var myObject = document.querySelector('div');
myObject.dataset.width = 200
komentarz 28 lipca 2017 przez Filip31411 Dyskutant (8,820 p.)
Mam funkcję podpiętą do onclicka przycisku która na podstawie różnych danych ma wyliczyć wysokość i szerokość diva, a potem mu ją przypisać. Więc wpadłem na pomysł, żeby stwożyć objekt ze wszystkimi danymi, a pod nim wykonać samo przypisanie.

Używanie data jako zmiennej raczej nie jest dobre.
komentarz 28 lipca 2017 przez niezalogowany
var myObject = {
  width: 100,
  height: 200,
  element: document.query...
};

To może tak?

komentarz 28 lipca 2017 przez Filip31411 Dyskutant (8,820 p.)
No właśnie tak mam, ale jak by sama nazwa obiektu reprezentowała diva to by było... tak lepiej.

Wiesz o co chodzi ;) Może drobnostka, ale ciekawi mnie jak to zrobić.
komentarz 28 lipca 2017 przez niezalogowany
Ale co Ci po tym, jeśli to zadziała tylko przy rzutowaniu? Już pisałem, najlepiej dodać do elementu DOM swój obiekt z konfiguracją.
komentarz 28 lipca 2017 przez Filip31411 Dyskutant (8,820 p.)
Ok, dzięki.

Podobne pytania

0 głosów
1 odpowiedź 410 wizyt
pytanie zadane 4 listopada 2017 w JavaScript przez Lrror Bywalec (2,720 p.)
0 głosów
2 odpowiedzi 281 wizyt
pytanie zadane 8 listopada 2018 w HTML i CSS przez Hexan Początkujący (430 p.)
0 głosów
2 odpowiedzi 144 wizyt

92,568 zapytań

141,422 odpowiedzi

319,638 komentarzy

61,957 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

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy 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!

...