Hirdetés
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- Vezetékes FEJhallgatók
- OLED TV topic
- Fejhallgató erősítő és DAC topik
- Vezeték nélküli fülhallgatók
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- Apple MacBook
- Milyen TV-t vegyek?
- Melyik tápegységet vegyem?
- NVIDIA GeForce RTX 5070 / 5070 Ti (GB205 / 203)
-
PROHARDVER!
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
- Csúcskategóriás ROG Zephyrus M16 Gamer Laptop (i9, RTX 3070 Ti) Makulátlan Állapotban!
- Eladó Karcmentes Lenovo Tablet P11 - Játékhoz és Filmhez, Strapabíró Fémház!
- HP EliteBook 840 G9 i7-1265U 32GB DDR5 512GB SSD FHD+ Érintőkijelző Garancia 2026.01.15
- HP LaserJet Toner - Fekete W9004MC ÚJ Gyári Dobozában
- MacBook Pro 14 Apple M1 Pro 2021 16GB RAM 512GB SSD 3K Retina kijelző 246 ciklus
- Samsung Galaxy A54 5G 128GB, Kártyafüggetlen, 1 Év Garanciával
- Azonnali készpénzes félkonfig / félgép felvásárlás személyesen / csomagküldéssel korrekt áron
- Bomba Ár! Lenovo ThinkPad T540P - i7-4800MQ I 8GB I 500GB I Nvidia I 15,6" FHD I Cam I W10 I Gari!
- iKing.Hu - HONOR 400 Lite 5G Velvet Grey Vékony, könnyű, AI-kameragomb 8/256 GB- 2027. 07. 01
- GYÖNYÖRŰ iPhone 13 mini 128GB Starlight -1 ÉV GARANCIA - Kártyafüggetlen, MS3133, 95% Akkumulátor
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest