Saturday 15 January 2011

methods as properties of an object in javascript -



methods as properties of an object in javascript -

i need create javascript function private variable has setter , getter methods. tried:

function createsecretholder(secret) { this._secret = secret; var getsecret = function(){ homecoming this._secret; } var setsecret = function(secret){ this._secret = secret; } }

and version with:

this.getsecret = function()...

and

this.sesecret = function()...

it not passing test suite on code wars. like

var obj = createsecretholder(secret); obj.getsecret(); obj.setsecret(newsecret);

and others hidden. error typeerror: cannot read property 'getsecret' of undefined , cannot phone call method setsecret

createsecretholder() doesn't return value createsecretholder(secret) returns undefined.

so var obj = createsecretholder(secret); sets obj undefined. hence error "cannot read property 'getsecret' of undefined" when seek access obj.getsecret().

even if returned object, have declared getsecret using var within function. variables described way scoped function. when seek access outside function, in obj.getsecret(), won't work.

you seem misunderstand how this works. not create private variable.

there number of ways this. here's one:

function createsecretholder(mysecret) { var secret = mysecret; homecoming { getsecret: function(){ homecoming secret; }, setsecret: function (mysecret){ secret = mysecret; } }; }

javascript object

No comments:

Post a Comment