- Xiaomi 12 - az izmos 12
- iPhone topik
- Xiaomi 17 Ultra - jó az optikája
- Samsung Galaxy S23 és S23+ - ami belül van, az számít igazán
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- MWC 2026: Meglepően jó áron jön a kicsi, de erős, illetve a nagy és fotós Xiaomi
- Samsung Galaxy S24+ - a személyi asszisztens
- Honor 200 Pro - mobilportré
- Itt a Galaxy S26 széria: az Ultra fejlődött, a másik kettő alig
- Yettel topik
-
Mobilarena
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
-
Jim-Y
veterán
Szia
1: ... = Array; Ehelyett inkabb ... = [] az ajanlott. [link]
2: ne tegyel semmit kulon fuggvenybe, ahogy fordfairlane is irta, a closure nem tartalmazza az i valtozodat, itt egy (ROSSZ) pelda, ez tortenik most a kododban.
http://jsfiddle.net/Jim_Y/6vy2x7Lo/1/
Latszik, hogy 10x "10" irodik ki a kepernyore, tehat ha lebontjuk, akkor
ctx.drawImage(imageObj[10], b, 0, a, 1080);
ctx.drawImage(imageObj[10], b, 0, a, 1080);
ctx.drawImage(imageObj[10], b, 0, a, 1080);
ctx.drawImage(imageObj[10], b, 0, a, 1080);
...stb tortenikEz azert van, mert az onload fuggveny egy closure-t kepez az ot korulolelo fuggvennyel, ami azt jelenti, hogy amikor az onload fv. lefut, akkor mindig megnezni a runtime, hogy az aktualis kontextusban mi az i valtozo erteke. Mivel az onload aszinkron, ezert amikor azok lefutnak, addigra a ciklus mar vegzett, es az i ciklusvaltozo erteket 10-re novelte. Abban a pillanatban ahogy az onload lookup-olja az i-t, az mar 10-es ertekkel szerepel a kontextusban. Ezert lesz 10x"10" kiirva a konzolra.
Ennek megoldasa, egy uj Execution Context (~ uj variable environment, ~closure) letrehozasaval orvosolhato, amiben az i valtozo mindig az eppen aktualis ertekre lesz beallitva, igy amikor az onload (lookup i) tortenik, akkor az aktualis environment context-ben az i jo ertekkel fog szerepelni.
KetHarom pelda:1: http://jsfiddle.net/Jim_Y/6vy2x7Lo/2/ reading Function.prototype.bind
2: http://jsfiddle.net/Jim_Y/6vy2x7Lo/3/ reading closures
3: http://jsfiddle.net/Jim_Y/6vy2x7Lo/4/ reading IIFE3: Az onload aszinkron muvelet, ami a ciklus lefutasa utan fog csak meghivodni.
Itt egy szemlelteto pelda http://jsfiddle.net/Jim_Y/LsuLL7dg/1/
A kodban a setTimeout az onload-ot szemlelteti. Latszik, hogy amit azon kivul csinalsz, az elobb fut le, mint amit azon belul.
Udv
Új hozzászólás Aktív témák
- Xiaomi 12 - az izmos 12
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- iPhone topik
- Mibe tegyem a megtakarításaimat?
- Eredeti játékok OFF topik
- Vezeték nélküli fülhallgatók
- Xiaomi 17 Ultra - jó az optikája
- AMD Ryzen 9 / 7 / 5 7***(X) "Zen 4" (AM5)
- Samsung Galaxy S23 és S23+ - ami belül van, az számít igazán
- Formula-1
- További aktív témák...
- Xbox Series S játékkonzol
- Eladó több darab 8GB DDR4 SODIMM laptop memória modul.
- Újszerű iPhone 17 Pro Max 256GB silver ezüst független Apple 1 Év garancia
- DELL Precision 7550 ntel Core I7-10750H, 64 GB, 1TB SSD MAGYAR VILÁGITÓS BILL
- Lenovo Thinkpad T14 GEN5 Ultra7 165U, 1 tb, 32gb ram, MAGYAR VILÁGÍTÓ BILLENTYŰZET GARIS
- Dell Latitude 7410 Intel I7-10810U Refurbished - Garancia - Akció!
- Használt Bentech Smart bébigőr / 12 hó jótállás
- Acer Predator Helios 18 AI I9 ULTRA 9275HX, 192GB RAM, 2TB SSD, RTX 5080
- LG 27GR95UM - 27" MiniLED - UHD 4K - 160Hz 1ms - NVIDIA G-Sync - FreeSync Premium PRO - HDR 1000
- DELL Alienware 16X Aurora Intel Core Ultra 7 / RTX 5060 Csillagközi indigó 2029-ig garancia
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

