-
Fototrend
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
-
hiperFizikus
aktív tag
for (f.x=0 ; f.x < u.A.szdb ;f.x++){
...
}; // for_
Kérdésem, ha
(x=0 ; x < u.A.szdb ;x++)
helyet(f.x=0 ; f.x < u.A.szdb ;f.x++)
-et használok, akkor lassúbb lesz-e a ciklusom pörgés ?
Most kezdtem el használni az "objektumokat" . Szerintem az objektumok egy nagy átverés . Úgy állítják be, mint ha egy nagy durranás lenne, pedig csak egy reklámos átverés . Jó, de túl van lihegve ♥
A gázt is és a féket is egyszerre nyomni nem menő dolog !
-
hiperFizikus
aktív tag
Ez megy nekem :
var h1={} ;
h1.dio = function(){} ;
Ez sajna nem megy :
var h1={} ;
String.prototype.h1.alma = function(){} ;Mit csináltam rosszul ?
A gázt is és a féket is egyszerre nyomni nem menő dolog !
-
sztanozs
veterán
válasz hiperFizikus #9652 üzenetére
Gondolom a String.prototype osztalyban (reklamos atveres) - en belul alapbol nincs h1, aminek az alma funkciojat letre akarnad hozni...
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
hiperFizikus
aktív tag
-
hiperFizikus
aktív tag
lásd #89
, a fenomén orientált programozás -om .
A gázt is és a féket is egyszerre nyomni nem menő dolog !
-
kymco
veterán
Sziasztok!
Szeretnék egy PHP-ban létrehozott ($_SESSION["valami"]) változót javascript függvénnyel módosítani. Ebben szeretnék segítséget kérni.www.refujvaros.hu
-
hiperFizikus
aktív tag
lásd #90
, "rizsa"A gázt is és a féket is egyszerre nyomni nem menő dolog !
-
Bzozoo
tag
válasz hiperFizikus #9663 üzenetére
Amúgy te használod ezt a nyelvet valami értelmes dologra is? 😃 Én például pénzt keresek vele 😃
-
hiperFizikus
aktív tag
Nincs szerencsém a pénzkeresésben .
Értelmes dolog:
világmegváltás
unaloműzés
tudomány fejlesztésea laptopom zümmögése elriasztja a szúnyogokat
A legújabb az :
/dokumentumok/kodok/primszam_listazo_3_files.zip
A gázt is és a féket is egyszerre nyomni nem menő dolog !
-
Bzozoo
tag
válasz hiperFizikus #9665 üzenetére
Fantasztikus 😃👍
-
hiperFizikus
aktív tag
lásd #7
, a szuperkomplex kifejezéseim programjaA gázt is és a féket is egyszerre nyomni nem menő dolog !
-
...
But who is watching the guardians?
-
nevemfel
senior tag
válasz arcoskönyv #9674 üzenetére
Kell ezekre a dolgokra ügyelni vagy ezt a böngészők lerendezik a háttérben?
Én ugyan nem nagyon használtam localstorage-t, de nem tudom elképzelni, hogy a böngészők ne tudnák kezelni rendesen az adatok konkurens kezelését.
Forget your troubles, c'mon get happy
-
martonx
veterán
válasz arcoskönyv #9674 üzenetére
Jó kérdés. Mivel a localstorage egy faék key-value tároló, ez őrült sérült nem tud lenni. Ráadásul a javascript csak egy szálon tud futni, szóval ne keverjük össze az aszinkron futást a párhuzamos futással.
Ergo szerintem olyan versenyhelyzet elő tud fordulni, hogy több böngészőfül felülírja egymás adatát, de ettől még nem lesz sérült az adatbázisod.
Azaz egyedül a felülírásra kellhet odafigyelned, már ha erre is tényleg oda kell figyelned, vagy pedig elfogadjuk természetesnek, hogy ha A kulcsot az egyik fül B-vel, a másik meg C-vel akarja feltölteni, akkor az fog nyerni, amelyik utoljára módosította.Én kérek elnézést!
-
nevemfel
senior tag
válasz martonx #9678 üzenetére
Azaz egyedül a felülírásra kellhet odafigyelned, már ha erre is tényleg oda kell figyelned, vagy pedig elfogadjuk természetesnek, hogy ha A kulcsot az egyik fül B-vel, a másik meg C-vel akarja feltölteni, akkor az fog nyerni, amelyik utoljára módosította.
Ugye a javascript kód egy oldalon egyetlen szálon fut, tehát egyetlen oldalon ilyen nem történhet. Az is feltételezhető, hogy ha több tabon fut ugyanazon a domainen található különféle script, az szintén egy szálon fog futni, dacára annak, hogy külön tabok futhatnak külön szálon. Tehát ebben az esetben egy localStorage.setItem(kulcs, walamiMuvelet(localStorage.getItem(kulcs))) atomi műveletnek tekinthető.
Nem vagyok expert abban, hogy _pontosan_ hogyan is működnek a modern böngészők javascript futtatókörnyezetei, de nagyon remélem, hogy azonos domaint egy szálon kezelnek. Mert ha nem így van, akkor a Jóisten irgalmazzon nekünk, meg a scriptjeinknek, hogy mi lesz a végeredmény, ugyanis ez teljesen szembemegy a böngészőben futó javascript alapelveivel.
[ Szerkesztve ]
Forget your troubles, c'mon get happy
-
válasz martonx #9678 üzenetére
"...Ráadásul a javascript csak egy szálon tud futni..."
Ezt én csak részben tekinteném igaznak. Elég csak az
interval
-okra gondolni. Annyit teszel be, amennyit akarsz, olyan időzítéssel, amilyennel akarod.Persze nem állítom, hogy ilyen esetekben több szálon fut, csak érdekességként említem.
But who is watching the guardians?
-
Bzozoo
tag
válasz arcoskönyv #9674 üzenetére
Ha realtime akarsz adatokat módosítani és megjeleníteni a változást több megnyitott lapon is, akkor websocket servert kell csinálnod.
JavaScript-ben Node.js alatt futtatható ilyen websocket szerver. Hogy egy ilyen kis lokális szerver mennyire lehetne beépíthető egy Firefox extension-be, azt nem tudom.
Legutoljára egy webrádióank készítettem olyan websocket szervert, ami realtime frissítette a lejátszott zenéket (kép, cím, leírás) a böngészőkben, de chat alkalmazások és a multiplyer játékok is ilyennel működnek.[ Szerkesztve ]
-
martonx
veterán
válasz nevemfel #9679 üzenetére
Én se vagyok v8 expert, de szerintem a tabok simán futhatnak külön szálon. Mai sok magos processzorok esetében fura is lenne, ha tényleg az egész böngésző egy szálat használna, biztos, ami biztos alapon.
Egyébként miért is baj, ha egy domain több tabon van nyitva és tabonként egy saját thread fut?Én kérek elnézést!
-
martonx
veterán
Hopsz megtaláltam a hivatalos doksit: https://chromium.googlesource.com/chromium/src/+/main/docs/process_model_and_site_isolation.md
Eszerint régen volt igaz a process per site isolation (Azaz egy domain akárhány tabban futott, azokat egy szál process szolgálta ki). Mostanra desktopon full site isolation van, ami ha jól értem minden tabnak külön process-t szentel.
De nem esküdnék meg rá, hogy a doksiban taglalt eltéréseket tökéletesen értem.Én kérek elnézést!
-
nevemfel
senior tag
Az interval, timeout ugyanazt az event-loopot használja. Egyetlen szálon fut a teljes javascript kód. Ha pl. épp számol egy kódrész, addig amíg be nem fejezi a számolást, addig sem interval, sem timeout, sem egyéb UI event nem kerül végrehajtásra.
Próbáld ki:
setTimeout(function() {
console.log("lefutna 100 ms múlva");
}, 100);
for (var war = 0; war < 10000000 ; war++) {
war;
};
console.log("lefutott a ciklus");Forget your troubles, c'mon get happy
-
válasz nevemfel #9688 üzenetére
Arra utaltam, hogy több interval-t futtathatsz "egyidőben". Nem arra, hogy mindez nem igaz, ha befagyasztod a böngészőablakot...
Szerk.: Processzor kérdése amúgy, hogy a meghatározott "10.000.000" ciklusszám le tud-e futni 100ms-en belül
[ Szerkesztve ]
But who is watching the guardians?
-
-
nevemfel
senior tag
Én meg arra utaltam, hogy egyidőben nem tudsz semmit sem futtatni párhuzamosan egy böngészőtabon. Sem asyncet, sem promiset, sem intervalt, sem semmi eventet.
A látszólagossággal meg szerintem itt nagyjából mindenki tisztában van, hogy "úgy néz ki", mintha egyidőben futnának dolgok. Oké, na és? Pont arról van szó, hogy a látszat ellenére nem párhuzamosan futnak. Te meg kötöd az ebet a karóhoz, hogy de "egyidőben" futnak. Akkó jóvan akkó, legyél vele nagyon boldog, igazad van, télleg "egyidőben" futnak. Fantasztikus felfedezés.
[ Szerkesztve ]
Forget your troubles, c'mon get happy
-
nevemfel
senior tag
válasz arcoskönyv #9693 üzenetére
Hát nem is tudom, hirtelen hol is kezdjem ... a javascript aszinkron kódokat, eseménykezelőket mennyire ismered? Függvény, mint függvényparaméter, mi az, mire jó, hogyan működik, ezek a fogalmak megvannak?
[ Szerkesztve ]
Forget your troubles, c'mon get happy
-
nevemfel
senior tag
válasz arcoskönyv #9695 üzenetére
Forget your troubles, c'mon get happy
-
nevemfel
senior tag
válasz arcoskönyv #9695 üzenetére
Kicsit még vissza az előzőekhez, a setTimeout dokumentáltan async függvény.
Aszinkron viselkedésű, de közvetlenül nem tudod az await kulcsszóval használni, mert nem egy promise a visszatérési értéke.
Forget your troubles, c'mon get happy
-
Pala
veterán
válasz arcoskönyv #9698 üzenetére
Az async JS-ben csak annyit jelent, hogy az igy megjelolt fuggveny mindenkeppen egy promise-t ad vissza, meg akkor is, ha ezt nem jelzed explicit modon.
Az await pedig egy kenyelmesebb mod a promise-ok visszateresi ertekenek kezelesere (a masik opcio a then-catch).
Az await kulcsszot async fuggvenyen belul lehet hasznalni, amikor promise-okkal dolgozol.Kezdetnek ennyi eleg.
[ Szerkesztve ]
-
Új hozzászólás Aktív témák
- AMD Ryzen 9 / 7 / 5 / 3 3***(X) "Zen 2" (AM4)
- iPhone topik
- Sorozatok
- Diablo 3
- Villanyszerelés
- Kerékpárosok, bringások ide!
- Újabb Samsungok telepíthetik a Galaxy AI-t
- bb0t: Gyilkos szénhidrátok, avagy hogyan fogytam önsanyargatás nélkül 16 kg-ot
- Mindent megtudtunk az új Nokia 3210-ről
- Milyen billentyűzetet vegyek?
- További aktív témák...
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: Ozeki Kft.
Város: Debrecen