🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.javascript
Article #51602

Re: Operator ||

#51602
From: Cezary Tomczyk
Date: Wed, 18 Nov 2015 09:11
38 lines
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-mail
References: <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