Article View: pl.comp.lang.javascript
Article #51603Re: Operator ||
From: nkab
Date: Wed, 18 Nov 2015 09:30
Date: Wed, 18 Nov 2015 09:30
46 lines
3154 bytes
3154 bytes
W dniu środa, 18 listopada 2015 10:11:38 UTC+1 użytkownik Cezary Tomczyk napisał:
> W dniu 11/18/2015 o 9:21 AM, nkab@toya.net.pl pisze:
> > W dniu wtorek, 17 listopada 2015 15:40:55 UTC+1 użytkownik Romek napisał:
> >> Witam,
> >>
> >> język javascript jest mi zupełnie obcy. Pewne potrzebne mi informacje znalazłem bibliotece jQuery. Ponieważ nie rozumiem zapisu proszę o pomoc i wyjaśnienie. W funkcji jest zapis :
> >>
> >> jQuery.fn.extend({
> >> offset:
> >> [...]
> >> return {
> >> top: box.top + (win.pageYOffset || docElem.scrollTop)-(docElem.clientTop || 0),
> >> left: box.left + (win.pageXOffset || docElem.scrollLeft) - (docElem.clientLeft || 0)
> >> [...]
> >>
> >>
> >> jak jest wartość wyrażenia (win.pageYOffset || docElem.scrollTop) lub (docElem.clientTop || 0). Z dokumentacji JS wynika, że operator OR zwraca wartości TRUE, FALSE i nie mogę tego dopasować do powyższego wyrażenie. Czego nie wiem. Proszę o krótkie wyjaśnienie.
> >>
> >> Romek
> >
> > Zamień sobie to na cyferki a wszystko ci się rozjaśni:
> >
> > (win.pageYOffset || docElem.scrollTop)
> >
> > alert(win.pageYOffset) np. da 200
> > alert(docElem.scrollTop) np. da 100
> >
> > (200 or 100)
>
> Nie. Lewa strona jest konwertowana do typu Boolean i jeśli jest true, to
> jest zwracana jego wartość. W przeciwnym wypadku prawa strona jest zwracana.
>
> W tym przypadku Boolean(200) daje true, a więc 200 jest zwracane. Gdyby
> win.pageYOffset było undefined, to Boolean(undefined) daje false i prawa
> strona jest zwracana.
>
> --
> Cezary Tomczyk
> http://www.ctomczyk.pl/
Dzięki.
Minie bardziej chodziło o to jak pytający praktycznie
powinien analizować kod i jak najłatwiej uzyska odpowiedź na warunek.
Andrzej.
Technical Details
Message-ID:
<7216a2c7-5a5a-4d25-bd92-fedcc767a8b4@googlegroups.com>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!news.cyf-kr.edu.pl!news.nask.pl!news.nask.org.pl!news.unit0.net!news.glorb.com!i2no4609238igv.0!news-out.google.com!z49ni423qgd.1!nntp.google.com!f78no543944qge.1!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mailReferences:
<8c1d2c90-f115-4a39-b7f2-946ba4cd634a@googlegroups.com> <66995a5a-40f9-47b3-b75c-e69da8b2f137@googlegroups.com> <5f30c$564c40c9$6def49cc$17088@nntpswitch.blueworldhosting.com>Show Full Headers
Complete Article Headers
X-Received: by 10.182.227.137 with SMTP id sa9mr379394obc.44.1447839005146; Wed, 18 Nov 2015 01:30:05 -0800 (PST) X-Received: by 10.140.99.69 with SMTP id p63mr8205qge.1.1447839005041; Wed, 18 Nov 2015 01:30:05 -0800 (PST) Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!news.cyf-kr.edu.pl!news.nask.pl!news.nask.org.pl!news.unit0.net!news.glorb.com!i2no4609238igv.0!news-out.google.com!z49ni423qgd.1!nntp.google.com!f78no543944qge.1!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail Newsgroups: pl.comp.lang.javascript Date: Wed, 18 Nov 2015 01:30:04 -0800 (PST) In-Reply-To: <5f30c$564c40c9$6def49cc$17088@nntpswitch.blueworldhosting.com> Complaints-To: groups-abuse@google.com Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=31.182.92.26; posting-account=xnOwqAoAAAAJ48pUkVrL2a6sJByqdB8s NNTP-Posting-Host: 31.182.92.26 References: <8c1d2c90-f115-4a39-b7f2-946ba4cd634a@googlegroups.com> <66995a5a-40f9-47b3-b75c-e69da8b2f137@googlegroups.com> <5f30c$564c40c9$6def49cc$17088@nntpswitch.blueworldhosting.com> User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: <7216a2c7-5a5a-4d25-bd92-fedcc767a8b4@googlegroups.com> Subject: Re: Operator || From: nkab@toya.net.pl Injection-Date: Wed, 18 Nov 2015 09:30:05 +0000 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit