Article View: pl.comp.lang.javascript
Article #51602Re: Operator ||
From: Cezary Tomczyk
Date: Wed, 18 Nov 2015 09:11
Date: Wed, 18 Nov 2015 09:11
38 lines
2507 bytes
2507 bytes
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/
Technical Details
Message-ID:
<5f30c$564c40c9$6def49cc$17088@nntpswitch.blueworldhosting.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!usenet.blueworldhosting.com!feeder01.blueworldhosting.com!nntpswitch.blueworldhosting.com!not-for-mailReferences:
<8c1d2c90-f115-4a39-b7f2-946ba4cd634a@googlegroups.com> <66995a5a-40f9-47b3-b75c-e69da8b2f137@googlegroups.com>Show Full Headers
Complete Article Headers
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!usenet.blueworldhosting.com!feeder01.blueworldhosting.com!nntpswitch.blueworldhosting.com!not-for-mail Subject: Re: Operator || Newsgroups: pl.comp.lang.javascript References: <8c1d2c90-f115-4a39-b7f2-946ba4cd634a@googlegroups.com> <66995a5a-40f9-47b3-b75c-e69da8b2f137@googlegroups.com> From: Cezary Tomczyk <cezary.tomczyk@gmail.com> Date: Wed, 18 Nov 2015 10:11:36 +0100 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0 MIME-Version: 1.0 In-Reply-To: <66995a5a-40f9-47b3-b75c-e69da8b2f137@googlegroups.com> Message-ID: <5f30c$564c40c9$6def49cc$17088@nntpswitch.blueworldhosting.com> X-Complaints-To: abuse@blueworldhosting.com Organization: BWH Usenet NNTPSwitch-Cluster Lines: 38 NNTP-Posting-Date: Wed, 18 Nov 2015 04:11:37 -0500 X-Trace: 5f30c564c40c9c84aec6917088 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit