- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Milyen ÚJ notebookot vegyek?
- Milyen TV-t vegyek?
- HiFi műszaki szemmel - sztereó hangrendszerek
- Speciális kiadású AMD-s alaplapot villantott az ASUS a 20 éves ROG-jubileumra
- A Linux megnégyszerezte magát a Steamen — a Microsoft ismét ígérget
- Fujifilm X
- Projektor topic
- Amlogic S905, S912 processzoros készülékek
- Fejhallgató erősítő és DAC topik
-
Fórumok
PROHARDVER! - hardver fórumok
Notebookok TV & Audió Digitális fényképezés Alaplapok, chipsetek, memóriák Processzorok, tuning Hűtés, házak, tápok, modding Videokártyák Monitorok Adattárolás Multimédia, életmód, 3D nyomtatás Nyomtatók, szkennerek Tabletek, E-bookok PC, mini PC, barebone, szerver Beviteli eszközök Egyéb hardverek PROHARDVER! BlogokMobilarena - mobil fórumok
Okostelefonok Mobiltelefonok Okosórák Autó+mobil Üzlet és Szolgáltatások Mobilalkalmazások Tartozékok, egyebek Mobilarena blogokIT café - infotech fórumok
Infotech Hálózat, szolgáltatók OS, alkalmazások SzoftverfejlesztésGAMEPOD - játék fórumok
PC játékok Konzol játékok MobiljátékokLOGOUT - lépj ki, lépj be!
LOGOUT reakciók Monologoszféra FototrendFÁRADT GŐZ - közösségi tér szinte bármiről
Tudomány, oktatás Sport, életmód, utazás, egészség Kultúra, művészet, média Gazdaság, jog Technika, hobbi, otthon Társadalom, közélet Egyéb Lokál PROHARDVER! interaktív
-
Frissítve: 2014-02-25 10:20 Téma összefoglaló
JavaScript != Java (A JavaScript nem összekeverendő a Javával, két különböző programozási nyelvről van szó!)
Új hozzászólás Aktív témák
-
vz12
tag
I. Objektumok.
Javascriptben egy objektum mezőit kétféle szintaxissal lehet elérni.
1. dot notation:
obj.property2. bracket notation:
obj["property"]A bracket notation akkor szükséges, ha olyan propertyt akarsz kezelni, ami
1. változóban van eltárolva,
2. javascriptben nem minősül megengedett azonosítónak (identifier). Például számjeggyel kezdődik, mint tömbelemek esetében, vagy space-t tartalmaz.Erre találták ki a bracket notationt, ami stringet vár, nem azonosítót. Ha nem stringet kap, akkor a kapott értéket stringgé konvertálja.
II. Tömbök.
Javascriptben létezik egy ún. array literal:
var cars = ["BMW", "Toyota", "Mazda"];
Az ezzel a szintaxissal létrehozott érték egy olyan objektum, aminek a prototype linkje a beépített Array objektumra mutat.
Ebből örököl egy csomó tömbspecifikus metódust (push, pop, slice, splice stb...) és a length propertyt. Tehát a tömb is objektum, de speciális objektum.III. typeof
A typeof egy legacy nyelvelem. Minden objektumra, függetlenül, hogy miből származik, a type operátor "object"-et ad vissza, kivéve function esetében. Tömb esetén tehát szintén "object"-et fog visszaadni.
Ha azt akarod tesztelni, hogy egy érték tömb vagy sem:
1. cars instaceof Array true-t ad vissza, ezzel jelezve, hogy a cars proto linkje az Array-re mutat (ami egyébként az Objectre linkel tovább). Cross framek (iframe) esetében az instanceof bugosan viselkedik, mindig false-t ad vissza.
2. Array.isArray(cars); szintén true-val tér vissza tömb esetén. Ez cross-frame kompatibilis.Oké, köszi a fejtágítást, így már jobban értem.
-
vz12
tag
Ha tömb lenne, így kellene rá hivatkozni: backpack['pocketnum']
Ez javascript esetében nem így van. Objektum propertykre is lehet hivatkozni ezzel a szintaxissal, ezt nevezik "bracket notation"-nak. Egyébként javascriptben a tömb is egy objektum. És még valami: javascriptben nincs olyan, hogy "asszociatív tömb". Az asszociatív tömb (tömb, ahol a tömbelem kulcsa string) az az objektum.
Egy kicsit körbejártam ezt, és elismerem, igazad van.


Ezek szerint JS-ben elméletileg NINCS is tömb, a tömb is objektum, DE az objektumok a gyakorlatban tömb ÉS objektum SZINTAXISSAL is kezelhetők. Viszont akkor félrevezető, hogy tömb szintaxissal létrehozott objektumokat tömbnek "hazudja" a Console ...Megerősítésképpen:
Tanulságos ..., nyilván van gyakorlati előnye, de szigorúan nézve számomra ez inkább zavaró. Az ember azt hiszi, hogy tömbje van, pedig nem is ... -
vz12
tag
Szia!
Hagy kérdezzek valamit a console.log-al kapcsolatban!
Én most kezdem a JS-t tanulni. Mindenhol ezt a console.log-ot használják debuggoláshoz, de nekem valamiért nem működik rendesen.
Van egy kb üres HTML, ami meghívja a JS-t. Abban van egy db tömb, aminek egyik elemét akarnám kiiratni console.log-al, de azt írja, hogy "undefined". Látja az objektumot, mert ha csak az objektum nevet írom be a konzolba, akkor mutatja, hogy mik vannak benne. Viszont így utasításként se a konzolban, se a JS-ből nem csinál semmit. firefoxban futtatom. Hot reloadot felraktam, meg leszedtem egy Node.js-t a feladatokhoz, ami némi hibaüzenetekkel, de felment (windózra).
Csak így egyszerűen: backpack.pocketnum <enter>
Egyébként szigorúan nézve a tömb NEM objektum, ezt ne keverd össze, a példádban a backpack objektum, és nem tömb. Ha tömb lenne, így kellene rá hivatkozni: backpack['pocketnum'] -
vz12
tag
-
vz12
tag
nem jó a sorrend, mert lehet hogy mind piros az egyikben
ami a példában van az se jó. Elsőre annak tűnik, de nem az. Betettem a példába ahol nem jó.
Ha több egyforma van az egyikben és csak egy a másikban akkor is többször számolja.Tehát még sincs megoldás.

próbáltam már for -al, azzal nem lehet.
if-el azzal se lehet.
nem tudom hogy lehet megoldani.function getSamePieces(t1,t2) {t3 = t2.slice(); // klónozáslength_before = t3.length;for (var i=0; i<t1.length;i++) {idx3 = t3.indexOf(t1[i]);if ( idx3 != -1)t3.splice(idx3, 1);}nRet = (length_before-t3.length);while(t3.length > 0)t3.pop(); // törlésreturn nRet;}t1 = [1,2,3,4,5,6,7];t2 = [2,8,2,1,6,1,1];nSame = getSamePieces(t1,t2);document.write(nSame); -
vz12
tag
Persze, kiindulási alapnak gondoltam én is.
Ezért "ragoztam" a scrollozás kérdését, meg a darabszámot, ez a konkrét feladat függvénye.
Ezenkívül a "bezár" metódus része lehetne az is, hogy a "select"-et eltüntetjük, de ez is csak részletkérdés.document.getElementById("mydiv").style.display = "none";Van amikor elég egy egyszerűbb (kompromisszumos) megoldás is, de ha nem, akkor bonyolítani kell.
-
vz12
tag
A linkelt fiddleben a formra nyomsz click-et és nem a dropdown-ra, de ez a megoldás nem is fog működni és más korábban működő lehetőség sem az alap html select kinyitására (a régebben még működő technikák már nem támogatottak a böngészők által).
Vannak workaround lehetőségek, amik közül a legegyszerűbb és szebb megoldás használni egy custom dropdown-t, de lehet megoldás a dropdown size változtatás is pl (a linken az egyik hozzászólásban van minta erre).
Nekem összejött egy megoldás a "size" változtatással: [link]
Ez a megoldás akkor jó, ha a "select" darabszáma nem túl sok (vagyis elfér a képernyőn), mert a scrollozás le van tiltva.
Ha sok elem van, akkor egyrészt a "size" értékét korlátozni kell, másrészt a scrollozást "auto"-ra kell állítani.
A "form"-ot én "div"-re cseréltem.Igen, kicsit régies, de játéknak jó volt.

-
vz12
tag
Itt van pár topic, ahol ezt jó alaposan kitárgyalják:
http://stackoverflow.com/questions/588004/is-javascripts-floating-point-math-broken
http://stackoverflow.com/questions/3556789/javascript-math-error-inexact-floats
http://stackoverflow.com/questions/5037839/avoiding-problems-with-javascripts-weird-decimal-calculationsKöszi, majd ráérő időmben tanulmányozni fogom ezeket.
-
vz12
tag
Nagyon fain a sublime, de ha nincs licenszelve, akkor kicsit irritáló tud lenni, random mentéseknél felugrál, egy alertbox, hogy vegyélmeg.
Persze torrentről még soha nem hallottam... mondjuk ez talán pont olyan dolog, amit értékelek annyira (ha már a keresetem nagyrészét ilyen jellegű munkák teszik ki), hogy szerintem ebbe be fogok fektetni
A JS számolások aritmetikai pontosságának növelésére van-e valakinek valamilyen ötlete?
Mert a beépített számomra egy kicsit igénytelen, kicsit durvának tartom hogy már egy egyszerű szorzásra is pontatlan ( illetve vagy pontatlan, vagy nem ! ), megengedő módon a gyökvonást még valamennyire megérteném ...
pl.1: 17 * 1.1 = 18.700000000000003
pl.2: 7410 * 0.43 = 3186.2999999999997
pl.3: Math.pow(Math.sqrt(1.5),2) = 1.4999999999999998
pl.4: Math.pow(1.6,2) = 2.5600000000000005Én elkövettem magamnak egy ki/bekapcsolható "automatikus decimális kerekítés"-t, ami nem fix, hanem rugalmas hosszúságban próbál decimálisan kerekíteni. Ez egy bizonyos határig remekül működik, pl. a fenti esetekben is, de nagyobb számok esetén (mondjuk 10 jegyű számok felett), vagy túl sok tizedesjegy esetén már hatástalan. A kikapcsolhatóságot is bele kellett tenni, hogy amikor nem kell, akkor azért ne kerekítsen, mert úgy jobban meghamisítja az eredményt, mint a "gyári" pontatlanság.
De ez igazából barkácsolás, pótmegoldás. A korrekt az lenne, ha a JS egy "rendesebb" aritmetikát használna, ennek ellenére ha valakinek lenne valami jó ötlete, azt megköszönném. -
vz12
tag
"Mindennel" biztos nem, mert akkor már megoldódott volna.

Továbbra is csak linkeket tudok dobálni:
http://eternalblackzero.blogspot.hu/2008/12/typeerror-windowcontentisnull-error.html
http://stackoverflow.com/questions/12267903/firefox-typeerror-localstorage-is-null/12269453#12269453
https://groups.google.com/forum/#!topic/mozilla.dev.extensions/iIrQXyMIhOU
(http://stackoverflow.com/questions/13636268/why-can-not-the-browser-url-be-gotten-from-a-dialog-window-firefox)
https://code.google.com/p/dactyl/issues/detail?id=148
http://comments.gmane.org/gmane.comp.mozilla.firefox.vimperator/4275
http://kasperowski.com/2008/12/firefox-tabs-broken.html
stb.Firefox-verziód?
Mint látható, csak idézőjelben írtam a "minden"-t.

Tegnap egész este ezeket olvasgattam, meg még többet is, eredmény nélkül.
Egyébként "minden" ide vagy oda, nem is biztos hogy van megoldás ...
Firefox 22.0, mindig az aktuális.Másoknak is (sokaknak) volt már ez a problémája, és nekik megerősítették hogy úgy mint "sima" esetben, úgy valóban NEM lehet elérni xpi-ből a localStorage-t (tehát "jogos" az a NULL) , de "normális" megoldást nem adtak, az esetlegesen adott ötleteket meg már kipróbáltam, nálam (az én "egyszerű" környezetemben) nem működtek.
-
vz12
tag
Amit először mutattam, ott window.content.localStorage; módon érte el, próbáld meg azt is, nem véletlenül linkeltem...
(Továbbra sem írtad, mikkel próbálkoztál, úgyhogy így elég rejtélyes...)No, itt vagyok.
Erre a "var ls = window.content.localStorage;" sorra ezt mondja a Hibakonzol:
TypeError: window.content is nullEzt sejtettem, persze azt nem mondja hogy mi kell helyette ...

Ugyanez a kód böngésző ablakban remekül működik.
Mint írtam, "mindennel" próbálkoztam már, csak semmi nem jött be. -
vz12
tag
"Sajnos xpi-t nem tudok debug-olni"
https://blog.mozilla.org/addons/2009/01/28/how-to-develop-a-firefox-extension/
http://davidthomasbernal.com/blog/2011/04/09/debugging-firefox-extensions-the-easy-way/
http://stackoverflow.com/questions/1077719/fastest-way-to-debug-firefox-addons-during-development
http://stackoverflow.com/questions/6855359/how-to-debug-firefox-extension
http://stackoverflow.com/questions/9464545/debugging-firefox-extension-from-add-on-builder
http://stackoverflow.com/questions/6239118/how-can-i-debug-a-firefox-extension-with-firebug
http://stackoverflow.com/questions/11128454/debugging-javascript-in-firefox-add-onKöszi, majd megnézem ezeket.
Amúgy szerintem az a hibám, hogy a localStorage hivatkozás nem jó, nem tudom elérni. -
vz12
tag
Ez a példa simán böngészőben szerintem is működne, de az én kérdésem nem erre vonatkozott, hanem .xpi-re (kiegészítő, Add-on). Úgy tűnik hogy az alapesetben nem akar hozzáférni a böngésző default localStorage-ához, pontosan az a kérdés hogy ezt mégis hogyan kellene megoldani. Egyébként én localStorage-ot kérdeztem, nem a sessionStorage-t, de valószínűleg nagyon hasonlóak, így ez is érdekel. A "fáma" szerint a localStorage megőrzi a tartalmát kilépés (böngésző bezárás) után, a sessionStorage pedig nem, az én problémámat a localStorage tudná megoldani.
Sajnos xpi-t nem tudok debug-olni, tehát semmi hibaüzenetem nincs. A teszt célból használt editbox-om üres marad, egyszerűen a "hibás" utasítást nem hajtja végre, megy tovább.
-
vz12
tag
Köszi a választ, de megkérdezném hogy ezekből neked melyik működött a gyakorlatban?
Ezt a linket én is elég hamar megtaláltam, és kipróbáltam az ott írtakat, de nálam egyik ötlet sem működött xpi-ben (és a többség böngésző-ablakban sem), persze lehet hogy valamit rosszul csináltam. Az XPCOM-nak is nekifutottam, de nincs meg hozzá a környezetem, és más ehhez hasonlóan "bonyolult" megoldáshoz sem, de "hátha" alapon azért kipróbáltam őket. Nem tudom használni a node.js-t, meg pl. a require parancsot sem. Én csak egy egyszerű szövegszerkesztőt használok fejlesztő eszköznek, szeretném ha a kódom 1 db HTML fájl lenne, és "megállna a saját lábán". -
vz12
tag
Sziasztok!
A nálam tapasztaltabb JS-esekhez lenne egy kérdésem:
Hogyan lehet (minél egyszerűbben) JS kódból elérni a localStorage-t saját Firefox Add-on-ban, azaz kiegészítőben, .xpi-ben? Egy HTML fájlból (amiben benne van a JS kód is), "sima" böngésző-ablakban megy a dolog, de ezt becsomagolva egy .xpi-be ez teljességgel nem működik (miközben a fájl amúgy működik).
Napok óta keresgélek a gugliban, persze sok "nyomra" bukkantam , néhány ötletet ki is próbáltam, de egyik sem működött nálam. Csinált már itt valaki ilyet?Amúgy semmi extra, csak azt szeretném ha 3-4 checkbox, illetve beállítás eltárolódna, és nem kellene ezeket minden induláskor újra beállítani. Nem szeretnék ezért adatbázist vagy konfigurációs fájlt használni, a localStorage nekem pont megfelelne, de azért meghallgatok minden véleményt.
Új hozzászólás Aktív témák
-
Fórumok
PROHARDVER! - hardver fórumok
Notebookok TV & Audió Digitális fényképezés Alaplapok, chipsetek, memóriák Processzorok, tuning Hűtés, házak, tápok, modding Videokártyák Monitorok Adattárolás Multimédia, életmód, 3D nyomtatás Nyomtatók, szkennerek Tabletek, E-bookok PC, mini PC, barebone, szerver Beviteli eszközök Egyéb hardverek PROHARDVER! BlogokMobilarena - mobil fórumok
Okostelefonok Mobiltelefonok Okosórák Autó+mobil Üzlet és Szolgáltatások Mobilalkalmazások Tartozékok, egyebek Mobilarena blogokIT café - infotech fórumok
Infotech Hálózat, szolgáltatók OS, alkalmazások SzoftverfejlesztésGAMEPOD - játék fórumok
PC játékok Konzol játékok MobiljátékokLOGOUT - lépj ki, lépj be!
LOGOUT reakciók Monologoszféra FototrendFÁRADT GŐZ - közösségi tér szinte bármiről
Tudomány, oktatás Sport, életmód, utazás, egészség Kultúra, művészet, média Gazdaság, jog Technika, hobbi, otthon Társadalom, közélet Egyéb Lokál PROHARDVER! interaktív
- Tőzsde és gazdaság
- Revolut
- World of Tanks - MMO
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Milyen ÚJ notebookot vegyek?
- Milyen TV-t vegyek?
- HiFi műszaki szemmel - sztereó hangrendszerek
- Autós topik
- Speciális kiadású AMD-s alaplapot villantott az ASUS a 20 éves ROG-jubileumra
- Diablo IV
- További aktív témák...
- 24 magos AMD Threadripper alapú munkára kiváló félgép, 128GB RAM-mal
- HP ZBook Fury 15 G7 i7-10850H 32GB 512GB SSD Quadro T2000 4GB FHD HUN bill, szép állapotban eladó
- Eladó MacBook Pro 16,1 2019 CTO
- új 0 km es garanciás lenovo loq rtx 5050 8gb
- Eladó teljesen újszerű karcmentes Samsung Galaxy Watch Ultra
- Xiaomi 15T Pro 5G 512GB, Kártyafüggetlen, 1 Év Garanciával
- 5G Lenovo ThinkPad P14s Gen 3 Intel Core i7-1280P 16GB 1TB Nvidia T550 4GB 1 év garancia
- (TÖBB DARAB, KÉSZLETEN) SAMSUNG / KINGSTON 4GB DDR4 RAM / MEMÓRIA MODULOK
- MacBook Pro 14" M4 16 GB RAM, 512GB SSD, Silver - 27% ÁFA (0436AB)
- AKCIÓ! 2TB Samsung 980 PRO NVMe SSD meghajtó garanciával hibátlan működéssel
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest








