X-Received: by 10.107.82.5 with SMTP id g5mr6712715iob.101.1520095189224; Sat, 03 Mar 2018 08:39:49 -0800 (PST) X-Received: by 10.157.96.5 with SMTP id h5mr461747otj.14.1520095188929; Sat, 03 Mar 2018 08:39:48 -0800 (PST) Path: csiph.com!xmission!news.snarked.org!border2.nntp.dca1.giganews.com!nntp.giganews.com!e10no746322itf.0!news-out.google.com!a25ni1843itj.0!nntp.google.com!w142no742400ita.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail Newsgroups: pl.comp.lang.javascript Date: Sat, 3 Mar 2018 08:39:48 -0800 (PST) In-Reply-To: Complaints-To: groups-abuse@google.com Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=217.99.247.215; posting-account=8ND_mgoAAAD5J9y9fnaTB1Kcu7xKWk7Q NNTP-Posting-Host: 217.99.247.215 References: <5a8d1d93$0$674$65785112@news.neostrada.pl> <148vihvftubia.1e9gxiae9fy4p.dlg@40tude.net> <1qn3p672u6yl5.1585lwp0arhbr.dlg@40tude.net> <1b368637-7199-4b74-85d2-5a359e6666e0@googlegroups.com> <15dvc5ead1h2c.cg8ko59kdlzt$.dlg@40tude.net> <246a73c9-8dc7-4ee0-946e-885933c13103@googlegroups.com> <27t8tt1m96wu.11hqw4vglcdjq.dlg@40tude.net> <11hsdnx36lvz3.sjxote5c1628.dlg@40tude.net> <2762d7f6-99fd-4697-b267-dc1ce7a9fe24@googlegroups.com> <18glwbnoogv4i$.ob1q7xeh9yly$.dlg@40tude.net> <3c1ede4e-1fb8-4574-9e6a-429e512643db@googlegroups.com> <1ekeb91h9bvln$.mmvu0slmr0h3$.dlg@40tude.net> <1er8w9haivbcf$.1602yifr4w3cv.dlg@40tude.net> <8798fb76-76a4-4794-b34b-5da0c4df9e5a@googlegroups.com> User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: Subject: Re: Argument funkcji From: zpksoft Injection-Date: Sat, 03 Mar 2018 16:39:49 +0000 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Lines: 108 Xref: csiph.com pl.comp.lang.javascript:3446 W dniu sobota, 3 marca 2018 16:34:48 UTC+1 u=C5=BCytkownik Borys Pogore=C5= =82o napisa=C5=82: > Dnia Sat, 3 Mar 2018 06:25:59 -0800 (PST), zpksoft napisa=C5=82(a): >=20 > > OK, daj wi=C4=99c przyk=C5=82ad. U=C5=82atwi=C4=99 Ci: mamy tabel=C4=99= z wierszami. User klika w > > jaki=C5=9B wiersz. Podaj mi teraz kod na jego identyfikacj=C4=99 przez = "przej=C5=9Bcie > > po skojarzonych elementach DOM".=20 >=20 > e.target Dobra, zostawmy to. >=20 > Ile razy mo=C5=BCna to powtarza=C4=87? To jest jednoznaczne wskazanie ele= mentu. I > zburz=C4=99 Ci teraz wizj=C4=99 =C5=9Bwiata: ID w HTML wcale nie musi by= =C4=87 unikalne. >=20 Wiem o tym. I co z tego? > > W=C5=82a=C5=9Bnie to mia=C5=82em na my=C5=9Bli pisz=C4=85c "je=C5=9Bli = zrozumiesz". Widz=C4=99 ze nie zrozumia=C5=82e=C5=9B. Troch=C4=99 tu za ma= =C5=82o miejsca na przedstawienie idei tego kodu, ale w innym miejscu ch=C4= =99tnie Ci wyja=C5=9Bni=C4=99 (emailowo?). > > Niechc=C4=85cy przytoczy=C5=82e=C5=9B sedno :D >=20 > Tu nie ma nic do rozumienia, bo to jest dramat. Kompletnie nieprzejrzysty= , > praktycznie niemo=C5=BCliwy do utrzymania kod, kt=C3=B3ry rozumie tylko j= edna osoba. > A najgorsze jest to, =C5=BCe tego nie widzisz i jeszcze pr=C3=B3bujesz pr= zeku=C4=87 w > zalet=C4=99. >=20 Ech, chyba dramat dla Ciebie bo nie wiesz co si=C4=99 dzieje. Dobra, opisz=C4=99 to pokr=C3=B3tce, aczkolwiek b=C4=99dzie to troch=C4=99 = wyrwane z kontekstu. Procedura FillBuf()doskonale hermetyzuje czynno=C5=9Bci typowe w komunikacj= i z serwerem. Co robi? Wyt=C5=82umacz=C4=99 krok po kroku.=20 FillBuf(n,=20 <- tu n to identyfikator klikni=C4=99tego obiektu, co=C5=9B jak Sender w od= Click Delphi czy C FillBuf(n, ['id1', 'id2',...] <- tablica identyfikator=C3=B3w obiekt=C3=B3w z kt=C3=B3rych maj=C4=85 by= =C4=87 pobrane warto=C5=9Bci. W zale=C5=BCno=C5=9Bci od typu b=C4=99dzie to= warto=C5=9B=C4=87 text, checked, innerHTML itp. Mo=C5=BCna r=C3=B3wnie=C5= =BC poda=C4=87 jako element tablicy "id3.bla' w=C3=B3wczas b=C4=99dzie to w= =C5=82asno=C5=9B=C4=87 'bla' alementu=20 FillBuf(n, ['id1', 'id2',...], ['x', 5, ...] <- dodatkowa tablica dowolnych warto=C5=9Bci np. wyliczeniowych Funkcja wysy=C5=82a te dane na serwer... FillBuf(n, ['id1', 'id2',...], ['x', 5, ...], 'divx' parametr 'divx' to identyfikator obiektu (najcz=C4=99=C5=9Bciej b=C4=99dzie= to div) kt=C3=B3rego zawarto=C5=9B=C4=87 (tu: innerHTML) ma zosta=C4=87 wy= pe=C5=82niona tre=C5=9Bci=C4=85 zwr=C3=B3con=C4=85 przez serwer. Oczywi=C5=9Bcie mo=C5=BCe nie by=C4=87 podany, je=C5=9Bli dane maj=C4=85 s= =C5=82u=C5=BCy=C4=87 do czego=C5=9B innego. Je=C5=BCeli jest to np. div do wype=C5=82nienia to na czas komunikacji z se= rwerem procedura fillBuf wstawi tam kr=C4=99cio=C5=82ek zaj=C4=99to=C5=9Bci= (gif) FillBuf(n, ['id1', 'id2',...], ['x', 5, ...], 'divx', function(buf){}) <- je=C5=BCeli zostanie zdefiniowana funkcja jako kolejny parametr to w jej= parametrze buf otrzyma to co zwr=C3=B3ci=C5=82 serwer, mo=C5=BCe przetworz= y=C4=87 to dowolnie. Tak wi=C4=99c jak widzisz, mam opakowan=C4=85 komunikacj=C4=99 z serwerem, = pobieranie danych z kontrolek i innych obiekt=C3=B3w i wszystko to tylko je= dnej procedury!=20 Na serwerze jest to r=C3=B3wnie=C5=BC odpowiednio zhermetyzowane. > > Ale=C5=BC wiem, co nie oznacza, =C5=BCe nie jest to w=C5=82a=C5=9Bnie t= ablica asocjacyjna. > > Inaczej m=C3=B3wi=C4=85c: w=C5=82asno=C5=9Bci obiektu stanowi=C4=85 tab= lic=C4=99 asocjacyjn=C4=85 i jako tak=C4=85 mo=C5=BCna wykorzysta=C4=87. >=20 > Nie pr=C3=B3buj si=C4=99 t=C5=82umaczy=C4=87. Zrobi=C5=82e=C5=9B z tego w= ielkie odkrycie, bo nie > rozumiesz podstaw. Nawet ze zwyk=C5=82ej iteracji po w=C5=82asno=C5=9Bcia= ch obiektu robisz > tam wiedz=C4=99 tajemn=C4=85 (btw, ten kod nie jest poprawny). Nie jest poprawny? Nie zadzia=C5=82a? >=20 > --=20 > Borys Pogore=C5=82o > borys(#)leszno,edu,pl Pawe=C5=82