Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.javascript > #22573
| Message-ID | <1590346.McO4MUtrrQ@PointedEars.de> (permalink) |
|---|---|
| From | Thomas 'PointedEars' Lahn <PointedEars@web.de> |
| Organization | PointedEars Software (PES) |
| Date | 2014-01-11 20:07 +0100 |
| Subject | Re: Why do I have to use the keyword this in my Employee example |
| Newsgroups | comp.lang.javascript |
| References | <larc8g$s3c$1@dont-email.me> <hdq2d9p4tjse2t0isfv010f2m9f0fn7gdl@4ax.com> <52d1792f$0$6555$9b4e6d93@newsspool4.arcor-online.net> |
Christoph Michael Becker wrote:
> John Harris wrote:
>> On Sat, 11 Jan 2014 13:08:29 +0100, "Tony Johansson"
>> <johansson.andersson@telia.com> wrote:
>>
>>> <script type="text/javascript">
>>> function Employee(first, last)
>>> {
>>> var _firstName = first;
>>> var _lastName = last;
>>>
>> Those are *local* variables, hidden inside the Employee function. They
>> won't exist any more once Employee has returned.
>
> That's not quite right. Actually, the variables are part of the
> environment of the methods of Employee, if Employee is invoked as
> constructor (what happens in function Foo()).
Not quite correct; this applies only to these methods of Employee
_instances_ and other functions defined in the context of Employee().
Key word: closure.
The methods of Employee instances here are “privileged“ and the variables
are “private” (terms coined by Douglas Crockford, IIRC), because only those
methods can access those variables/pseudo-properties. It is the closest
equivalent to private/protected properties in class-based OOP.
--
PointedEars
Twitter: @PointedEars2
Please do not Cc: me. / Bitte keine Kopien per E-Mail.
Back to comp.lang.javascript | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Why do I have to use the keyword this in my Employee example "Tony Johansson" <johansson.andersson@telia.com> - 2014-01-11 13:08 +0100
Re: Why do I have to use the keyword this in my Employee example Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2014-01-11 16:37 +0100
Re: Why do I have to use the keyword this in my Employee example John Harris <niam@jghnorth.org.uk.invalid> - 2014-01-11 15:58 +0000
Re: Why do I have to use the keyword this in my Employee example Christoph Michael Becker <cmbecker69@arcor.de> - 2014-01-11 18:02 +0100
Re: Why do I have to use the keyword this in my Employee example Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2014-01-11 20:07 +0100
Re: Why do I have to use the keyword this in my Employee example Christoph Michael Becker <cmbecker69@arcor.de> - 2014-01-12 21:15 +0100
Re: Why do I have to use the keyword this in my Employee example Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2014-01-12 21:51 +0100
Re: Why do I have to use the keyword this in my Employee example John Harris <niam@jghnorth.org.uk.invalid> - 2014-01-14 09:56 +0000
Re: Why do I have to use the keyword this in my Employee example JJ <duh@nah.meh> - 2014-01-11 23:10 +0700
csiph-web