Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.javascript > #22613
| From | John Harris <niam@jghnorth.org.uk.invalid> |
|---|---|
| Newsgroups | comp.lang.javascript |
| Subject | Re: Why do I have to use the keyword this in my Employee example |
| Date | 2014-01-14 09:56 +0000 |
| Organization | A noiseless patient Spider |
| Message-ID | <id2ad9ddit2f9igva84q80incbugm7o1uo@4ax.com> (permalink) |
| References | <larc8g$s3c$1@dont-email.me> <hdq2d9p4tjse2t0isfv010f2m9f0fn7gdl@4ax.com> <52d1792f$0$6555$9b4e6d93@newsspool4.arcor-online.net> <1590346.McO4MUtrrQ@PointedEars.de> |
On Sat, 11 Jan 2014 20:07:20 +0100, Thomas 'PointedEars' Lahn
<PointedEars@web.de> wrote:
>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.
It's a pointless thing to do here though. Anything can use a set...()
call to put any values it likes in _firstName and _lastName, including
null or undefined.
John
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