-
Path: news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!.P
OSTED!not-for-mail
From: Roman Tyczka <n...@b...no>
Newsgroups: pl.comp.programming
Subject: popaprany JS
Date: Mon, 27 Mar 2017 19:02:03 +0200
Organization: ATMAN - ATM S.A.
Lines: 43
Sender: r...@t...no.found
Message-ID: <j6xj1vxv7su9$.dlg@tyczka.com>
NNTP-Posting-Host: 94.75.90.137
Mime-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 8bit
X-Trace: node1.news.atman.pl 1490634123 32003 94.75.90.137 (27 Mar 2017 17:02:03 GMT)
X-Complaints-To: u...@a...pl
NNTP-Posting-Date: Mon, 27 Mar 2017 17:02:03 +0000 (UTC)
User-Agent: 40tude_Dialog/2.0.15.84
Xref: news-archive.icm.edu.pl pl.comp.programming:210351
[ ukryj nagłówki ]
Próbuję przekonwertować kawałek kodu z JS na delphi, ale poziom zakręcenia
mnie przerósł, proszę o pomoc w wyjaśnieniu ludzkim językiem co tu się
dzieje:
function(e, s, i)
{
var n, a, o = "",
l = t.isArray(e),
r = 0;
for (n = 0, a = s.length; n < a; n += 1) "+" === s.charAt(n) ? o +=
i.charAt(n) : "*" === s.charAt(n) && (o += l ? e[r++].value :
e.charAt(r++));
return o
}
Jako, że JS ma typowanie między pośladkami to typy wejściowe odgaduje z
szerszego kontekstu, którego tu nie umieszczam by nie mącić, jako:
e - chyba tablica, w każdym razie wynik funkcji z jQuery
this.ui.maskedInput.serializeArray()
s - to string z maską złożoną ze znaków + i *
// "mask": "+++*+*+***++++++++++++++++++++++"
i - to sól w łanćuchu tekstowym
// "salt": "rDUrqpBMmlNGJQgk87uKCUGMlK4dU51R",
Całość to kawałek formularza logowania, a konkretnie wyliczania hasha z
hasła.
Proszę szczególnie o rozwikłanie tej pętli, czyli konkretnie tego:
"+" === s.charAt(n) ? o += i.charAt(n) : "*" === s.charAt(n) && (o += l ?
e[r++].value : e.charAt(r++));
To koszmarek jakiś :-)
--
pozdrawiam
Roman Tyczka
Następne wpisy z tego wątku
- 27.03.17 20:42 bartekltg
- 27.03.17 22:39 Andyy
- 27.03.17 22:52 bartekltg
- 28.03.17 01:33 bartekltg
- 28.03.17 09:58 Roman Tyczka
- 28.03.17 12:04 bartekltg
- 28.03.17 16:56 Roman Tyczka
Najnowsze wątki z tej grupy
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
- Młodzi programiści i tajna policja
- Ada 2022 Language Reference Manual to be Published by Springer
- Press Release - AEiC 2023, Ada-Europe Reliable Softw. Technol.
- Ada-Europe - AEiC 2023 early registration deadline approaching
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2023
- Ile cykli zajmuje mnożenie liczb 64-bitowych?
- Ideologia Polskiego Programisty wer.3
Najnowsze wątki
- 2024-05-06 Fotowoltaika do c.w.u.
- 2024-05-06 Warszawa => Senior IT Recruiter <=
- 2024-05-06 Kraków => Lider Serwisu/Programista PLC z językiem niemieckim <=
- 2024-05-06 Berlin => Solution Architect (secure communication and IoT solutions)
- 2024-05-06 Czy szpital przekazuje dokumentację medyczną do Starosty powiatu?
- 2024-05-06 naprawa zamka
- 2024-05-06 Kraków => Mid/Senior QA Engineer <=
- 2024-05-06 Warszawa => Java Developer <=
- 2024-05-06 Re: Prawo móżdżek...
- 2024-05-06 Toruń => UX/UI Designer <=
- 2024-05-06 Wrocław => UX/UI Designer <=
- 2024-05-06 Warszawa => Senior PHP Developer (Symfony) <=
- 2024-05-06 Białystok => Senior Software Engineer PHP (BillPro) Kontraktor <=
- 2024-05-06 Warszawa => AI Specialist <=
- 2024-05-05 Taki dinks do drzwi