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


Groups > comp.lang.javascript > #32878

Re: Understanding someone's code

From tony@mountifield.org (Tony Mountifield)
Newsgroups comp.lang.javascript
Subject Re: Understanding someone's code
Date 2017-03-30 13:44 +0000
Organization Software Insight Ltd., Winchester, UK
Message-ID <obj240$rdp$1@softins.softins.co.uk> (permalink)
References <WumdnYlb48xrFUHFnZ2dnUU7-K_NnZ2d@westnet.com.au> <XnsA7487B53461A9eejj99@194.109.6.166> <obir0r$p3e$1@softins.softins.co.uk> <XnsA7488E8B9765eejj99@194.109.6.166>

Show all headers | View raw


In article <XnsA7488E8B9765eejj99@194.109.6.166>,
Evertjan. <exxjxw.hannivoort@inter.nl.net> wrote:
> tony@mountifield.org (Tony Mountifield) wrote on 30 Mar 2017 in 
> comp.lang.javascript:
> 
(original statement re-added for comparison)

> >>   b.getPageInView && (a = b.getPageInView()) && (F = a,
> >> document.getElementById("pageNumber").value = a);

> >> > if (b.getPageInView) {
> >> >    a = b.getPageInView();
> >> >    if (a) {
> >> >      F = a;
> >> >      document.getElementById("pageNumber").value = a;
> >> >    }
> >> >}
> >> 
> >> No.
> > 
> > Why not? It looks equivalent to me, in that specific case.
> 
> Incorrect, did you test it?

It was simple enough to understand by inspection.

> After:
> 
> F = 7;
> a = 0;
> if (a) {
>      F = a;
>      document.getElementById("pageNumber").value = a;
> }
> 
> F will be 7, 
> 
> while after:
> 
> F = 7;
> a = 0;
> F = (F = a) && (document.getElementById("pageNumber").value = a);
> 
> F will be 0;

What's an initial assignment to F got to do with it? That wasn't in the
original example. Nor was your outer assignment to F in the third line.

Let's consider the original code piece by piece:

b.getPageInView && (a = b.getPageInView()) && (F = a, document.getElementById("pageNumber").value = a);

1. Evaluate b.getPageInView. If false, do nothing further due to short-
circuit evaluation, and discard its value, since it is not assigned.

2. Invoke b.getPageInView() and assign its value to a. If the assigned
value was false, do nothing further.

3. Assign the value of a to F.

4. Assign the value of a to document.getElementById("pageNumber").value

You will find exactly the same steps describe the OP's interpretation:

if (b.getPageInView) {
  a = b.getPageInView();
  if (a) {
    F = a;
    document.getElementById("pageNumber").value = a;
  }
}

> > If you believe
> > it to be a wrong interpretation of the original code, why not provide
> > a better one
> 
> This is not a church, 
> faith does not come into coding,
> faith being nonsense anyway.

s/believe/consider/ or s/believe/think/. I was using "believe" in one of
those meanings, nothing to do with faith. Sounds like you have an axe to
grind regarding the latter.

> > , instead of the unrelated and simple example below?
> 
> I try to teach to the best of my knowledge,
> not take over the coding,
> this NG not being a helpdesk.

That's true, it isn't. But if you volunteer to respond, it doesn't help
if you don't answer the question asked.

Cheers
Tony
-- 
Tony Mountifield
Work: tony@softins.co.uk - http://www.softins.co.uk
Play: tony@mountifield.org - http://tony.mountifield.org

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