[JavaScript] 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? |
[JavaScript] 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? |
24.07.2020, 16:56:07
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 ] |
|
|
24.07.2020, 17:00:14
Post
#2
|
|
Grupa: Moderatorzy Postów: 36 455 Pomógł: 6292 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 |
|
|
24.07.2020, 17:20:57
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 |
|
|
24.07.2020, 18:02:52
Post
#4
|
|
Grupa: Zarejestrowani Postów: 6 761 Pomógł: 1822 Dołączył: 11.03.2014 Ostrzeżenie: (0%) |
-------------------- |
|
|
24.07.2020, 21:38:45
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'] } |
|
|
25.07.2020, 06:28:28
Post
#6
|
|
Grupa: Zarejestrowani Postów: 6 761 Pomógł: 1822 Dołączył: 11.03.2014 Ostrzeżenie: (0%) |
Jest dokładnie opisany Twój problem i kilka rozwiązań.
-------------------- |
|
|
25.07.2020, 12:37:09
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: 25.04.2024 - 13:19 |