🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.lang.javascript
10 messages
10 total messages Started by Romek Tue, 17 Nov 2015 06:40
Operator ||
#50131
Author: Romek
Date: Tue, 17 Nov 2015 06:40
23 lines
730 bytes
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
Re: Operator ||
#50132
Author: Cezary Tomczyk
Date: Tue, 17 Nov 2015 17:20
22 lines
872 bytes
W dniu 11/17/2015 o 3:40 PM, Romek pisze:
> 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.

https://developer.mozilla.org/pl/docs/Web/JavaScript/Reference/Operators/Logical_Operators

--
Cezary Tomczyk
http://www.ctomczyk.pl/
Re: Operator ||
#50133
Author: nkab@toya.net.pl
Date: Wed, 18 Nov 2015 00:21
35 lines
1050 bytes
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)

Andrzej.
Re: Operator ||
#50135
Author: nkab@toya.net.pl
Date: Wed, 18 Nov 2015 01:30
58 lines
1829 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.
Re: Operator ||
#50136
Author: zpksoft
Date: Wed, 18 Nov 2015 06:47
73 lines
2441 bytes
W dniu ¶roda, 18 listopada 2015 10:30:06 UTC+1 u¿ytkownik nk...@toya.net.pl napisa³:
> 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.

false or true <- da true czyli praw± stronê
true or false <- da true czyli lew± stronê.

Czyli: wynik a or b zwróci warto¶æ przwdziw±. A ¶ci¶lej: pierwsz± prawdziw±, tzn. je¿eli a jest true i b jest true to zwróci a. Jest tak dlatego, ¿e dzia³anie true or cokolwiek zawsze da true wiêc po co sprawdzaæ co jest pod cokolwiek.

(Oczywi¶cie Cezary Tomczyk ma racjê)

Pawe³
Re: Operator ||
#50134
Author: Cezary Tomczyk
Date: Wed, 18 Nov 2015 10:11
37 lines
1413 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/
Re: Operator ||
#50137
Author: nkab@toya.net.pl
Date: Thu, 19 Nov 2015 01:55
84 lines
2768 bytes
W dniu ¶roda, 18 listopada 2015 15:47:04 UTC+1 u¿ytkownik zpksoft napisa³:
> W dniu ¶roda, 18 listopada 2015 10:30:06 UTC+1 u¿ytkownik nk...@toya.net.pl napisa³:
> > 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.
> 
> false or true <- da true czyli praw± stronê
> true or false <- da true czyli lew± stronê.
> 
> Czyli: wynik a or b zwróci warto¶æ przwdziw±. A ¶ci¶lej: pierwsz± prawdziw±, tzn. je¿eli a jest true i b jest true to zwróci a. Jest tak dlatego, ¿e dzia³anie true or cokolwiek zawsze da true wiêc po co sprawdzaæ co jest pod cokolwiek.
> 
> (Oczywi¶cie Cezary Tomczyk ma racjê)
> 
> Pawe³

a=0;
//var a;                  // undefined
b=100;

//alert(''+Boolean(a));
alert('ok...'+(a||b));    // 100

Andrzej.
Re: Operator ||
#50138
Author: zpksoft
Date: Thu, 19 Nov 2015 05:27
15 lines
363 bytes
W dniu czwartek, 19 listopada 2015 10:55:22 UTC+1 u¿ytkownik nk...@toya.net.pl napisa³:
...> 
> a=0;
> //var a;                  // undefined
> b=100;
> 
> //alert(''+Boolean(a));
> alert('ok...'+(a||b));    // 100
> 
> Andrzej.

Ale gdy a!=0 to zwróci a. Bo odpowiednikiem warto¶ci boolean==false s± 0, null, undefined itp.

Pawe³
Re: Operator ||
#50139
Author: nkab@toya.net.pl
Date: Thu, 19 Nov 2015 23:54
26 lines
804 bytes
W dniu czwartek, 19 listopada 2015 14:27:26 UTC+1 u¿ytkownik zpksoft napisa³:
> W dniu czwartek, 19 listopada 2015 10:55:22 UTC+1 u¿ytkownik nk...@toya.net.pl napisa³:
> ...> 
> > a=0;
> > //var a;                  // undefined
> > b=100;
> > 
> > //alert(''+Boolean(a));
> > alert('ok...'+(a||b));    // 100
> > 
> > Andrzej.
> 
> Ale gdy a!=0 to zwróci a. Bo odpowiednikiem warto¶ci boolean==false s± 0, null, undefined itp.
> 
> Pawe³

Ale tu, w przyk³adzie pytaj±cego, najbardziej istotna by³a kwestia
co zwróci warunek, bo wygl±da³ na bardzo enigmatyczny, a po pod³o¿eniu
cyferek wszystko sta³o siê jasne, za¶ dyskusja nie pozostawi³a pytaj±cemu
ju¿ ¿adnych w±tpliwo¶ci o czym pewnie siê dowiemy (albo nie).

Andrzej.
Re: Operator ||
#50140
Author: zpksoft
Date: Fri, 20 Nov 2015 05:04
33 lines
1074 bytes
W dniu pi±tek, 20 listopada 2015 08:54:13 UTC+1 u¿ytkownik nk...@toya.net.pl napisa³:
> W dniu czwartek, 19 listopada 2015 14:27:26 UTC+1 u¿ytkownik zpksoft napisa³:
> > W dniu czwartek, 19 listopada 2015 10:55:22 UTC+1 u¿ytkownik nk...@toya.net.pl napisa³:
> > ...> 
> > > a=0;
> > > //var a;                  // undefined
> > > b=100;
> > > 
> > > //alert(''+Boolean(a));
> > > alert('ok...'+(a||b));    // 100
> > > 
> > > Andrzej.
> > 
> > Ale gdy a!=0 to zwróci a. Bo odpowiednikiem warto¶ci boolean==false s± 0, null, undefined itp.
> > 
> > Pawe³
> 
> Ale tu, w przyk³adzie pytaj±cego, najbardziej istotna by³a kwestia
> co zwróci warunek, bo wygl±da³ na bardzo enigmatyczny, a po pod³o¿eniu
> cyferek wszystko sta³o siê jasne, za¶ dyskusja nie pozostawi³a pytaj±cemu
> ju¿ ¿adnych w±tpliwo¶ci o czym pewnie siê dowiemy (albo nie).
> 
> Andrzej.

OK, napisa³em to tak dla porz±dku bo pytaj±cy sam przyzna³ ¿e nie zna JS, wiêc aby nie b³±dzi³ :)

Pawe³
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads