eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingpopaprany JS › popaprany JS
  • 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

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: