constructor - Javascript member accessor by this/classname -


what difference between 2 constructs?

function objectname() {     this.member1 = "foo"; // #1     objectname.member2 = "baz"; #2 } 

is 2 ways of saying same thing, or members declared second way have different properties? work differently on inherited objects?

it 2 different things.

this.member1 = "foo": 

sets member1 property on created instance of object, when called new

new objectname().member1 === 'foo'; 

setting property on function sets in on function object

objectname.member2 = 'baz'; objectname.member2 === 'baz'; myobjinstance.member2 === undefined 

that's because function keyword sets variable, shorthand for:

var objectname = function() { 

and object can set properties want, it's on object itself.


Comments

Popular posts from this blog

php - SPIP: From Tag directly to an article -

jquery - isAjaxRequest always return false -

ruby on rails - In a controller spec, how to find a specific tag in the generated view? -