Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.javascript > #32862

Re: Understanding someone's code

Newsgroups comp.lang.javascript
Subject Re: Understanding someone's code
From "Evertjan." <exxjxw.hannivoort@inter.nl.net>
References <WumdnYlb48xrFUHFnZ2dnUU7-K_NnZ2d@westnet.com.au> <34qdnaF51IrJJUHFnZ2dnUU7-WednZ2d@westnet.com.au>
Date 2017-03-30 12:07 +0200
Message-ID <XnsA7487B53461A9eejj99@194.109.6.166> (permalink)

Show all headers | View raw


Andrew Poulos <ap_prog@hotmail.com> wrote on 30 Mar 2017 in 
comp.lang.javascript:

> On 30/03/2017 3:26 PM, Andrew Poulos wrote:
>> I'm looking through some code I found online and one bit has this
>>
>> function k() {
>>   var a;
>>   if (b.onScroll) b.onScroll();
>>   b.getPageInView && (a = b.getPageInView()) && (F = a,
>> document.getElementById("pageNumber").value = a);
>> }
>>
>> which has me confused. Is the line
>>
>>   b.getPageInView && (a = b.getPageInView()) && (F = a,
>> document.getElementById("pageNumber").value = a);
>>
>> equivalent to
>>
>> if (b.getPageInView) {
>>   a = b.getPageInView();
>>   F = a;
>>   document.getElementById("pageNumber").value = a;
>> }
> 
> Or  should I have said, is equivalent to
> 
> if (b.getPageInView) {
>    a = b.getPageInView();
>    if (a) {
>      F = a;
>      document.getElementById("pageNumber").value = a;
>    }
>}

No.

The right side of && is only executed 
if and after[!] execution of the left side has returned true.

So:

'use strict'
let a = 4;
document.write( a ); //  4
document.write( a && 15-15 ); //  0
document.write( a ); //  4
document.write( (a=0) && (a=1) ); //  0
document.write( a ); //  0
document.write( (a=17) && (a=0) && (a=13) ); //  0
document.write( a ); //  0


-- 
Evertjan.
The Netherlands.
(Please change the x'es to dots in my emailaddress)

Back to comp.lang.javascript | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

Understanding someone's code Andrew Poulos <ap_prog@hotmail.com> - 2017-03-30 15:26 +1100
  Re: Understanding someone's code Andrew Poulos <ap_prog@hotmail.com> - 2017-03-30 18:48 +1100
    Re: Understanding someone's code "Evertjan." <exxjxw.hannivoort@inter.nl.net> - 2017-03-30 12:07 +0200
      Re: Understanding someone's code tony@mountifield.org (Tony Mountifield) - 2017-03-30 11:43 +0000
        Re: Understanding someone's code "Evertjan." <exxjxw.hannivoort@inter.nl.net> - 2017-03-30 14:00 +0200
          Re: Understanding someone's code tony@mountifield.org (Tony Mountifield) - 2017-03-30 13:44 +0000
            Re: Understanding someone's code "Evertjan." <exxjxw.hannivoort@inter.nl.net> - 2017-03-30 19:07 +0200
    Re: Understanding someone's code JJ <jj4public@vfemail.net> - 2017-03-30 18:58 +0700
      Re: Understanding someone's code Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2017-03-30 18:13 +0200
    Re: Understanding someone's code Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2017-03-30 18:13 +0200
      Re: Understanding someone's code John G Harris <niam@jghnorth.org.uk.invalid> - 2017-03-31 10:30 +0100
        Re: Understanding someone's code Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2017-04-02 14:41 +0200
          Re: Understanding someone's code John G Harris <niam@jghnorth.org.uk.invalid> - 2017-04-02 19:05 +0100
            Re: Understanding someone's code Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2017-04-10 05:00 +0200
              Re: Understanding someone's code John G Harris <niam@jghnorth.org.uk.invalid> - 2017-04-10 10:03 +0100

csiph-web