![]() |
![]() ![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 196 Pomógł: 0 Dołączył: 9.03.2017 Ostrzeżenie: (0%) ![]() ![]() |
Mam tablicę, która jest właściwością obiektu. Jak odwołać się w tej tablicy do innych właściwości i metod tego obieku? Dlaczego to nie działa?
Kod var car = { brand : "Mercedes", color : "czerwony", showText() { console.log('hello') }, array: ['a', 'b', this.color, this.showText] } console.log(car.array); Uzyskuję: Array(4) [ "a", "b", undefined, undefined ] |
|
|
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
No i niby czemu to ma dzialac? this odnosi sie do obiektu w ktorym jest a tam this jest w blizej niezdefiniowanym obiekcie. this tam w zadnym razie nie donosi sie do zmiennej car bo i niby czemu mialby?
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]() ![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 196 Pomógł: 0 Dołączył: 9.03.2017 Ostrzeżenie: (0%) ![]() ![]() |
1) Jeśli tablica w JS jest obiektem, to rozumiem, że 'this' użyte w tablicy odnosi się do tej tablicy, zgadza się?
2) No więc da się to zrobić w obrębie obiektu, czy trzeba tablicę przenieść poza obiekt? Kod var car = { brand : "Mercedes", color : "czerwony", showText() { console.log('hello') } } var array = ['a', 'b', car.color, car.showText] Może jeszcze podam kontekst problemu. Mam taki działający kod w projekcie: Kod navigationHidableReferences = (a, b, d, e, f, g) => { nextBtn.style.display = a; prevBtn.style.display = b; galleryTopDiv.style.cursor = d; thumbsDiv.style.cursor = e; iconBar.style.display = f; thumbnailsIconDiv.style.display = g; }; const showWholeNavigation = [ 'flex', 'flex', 'grab', 'grab', 'flex', 'flex', navigationHidableReferences, ]; resetTimer = (a, b, d, e, f, g, navigationHidableReferencesCallback) => { navigationHidableReferencesCallback(a, b, d, e, f, g); clearInterval(timer); currSeconds = 0; timer = setInterval(startIdleTimer, 1000); }; startIdleTimer = () => { currSeconds += 1; if (currSeconds === 5) { navigationHidableReferences('none', 'none', 'none', 'none', 'none', 'none'); } }; Kod powoduje, że po 5 sekundach braku aktywności myszy znika nawigacja. Chciałbym go uporządkować tworząc jeden obiekt. Czy taki pomysł ma w ogóle sens? Ten post edytował stellatus 24.07.2020, 17:37:45 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
-------------------- |
|
|
![]() ![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 196 Pomógł: 0 Dołączył: 9.03.2017 Ostrzeżenie: (0%) ![]() ![]() |
Sorry, ale nie rozumiem w jaki sposób te informacje miałyby odpowiadać na moje pytanie. Tam o tablicach nic nie ma. Mam tablicę, która jest właściwością obiektu. Czy odwołania do właściwości obiektu mogą stanowić elementy tej tablicy? Jeżeli tak, to jak to napisać?
Kod var car = { brand : "Mercedes", color : "czerwony", showText() { console.log('hello') }, array: ['a', 'b', 'odwołanie do car.color', 'odwołanie do car.showText'] } |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
Jest dokładnie opisany Twój problem i kilka rozwiązań.
-------------------- |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 196 Pomógł: 0 Dołączył: 9.03.2017 Ostrzeżenie: (0%) ![]() ![]() |
Nie wiedziałem, że to new function() tworzy nowy obiekt. Ciekawe. Dzięki za pomoc.
Ten post edytował stellatus 25.07.2020, 13:16:15 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 13:41 |